Python Tutorial: Build a Course Platform with Django, HTMX, TailwindCSS and Cloudinary.

preview_player
Показать описание

Learn how to build a Course Platform from scratch. Host video-based courses, manage thumbnails, restrict access to confirmed emails only, optimize thumbnails, customize the Django admin and much more.

Topics:
✅ Use Python 3.12 and Django 5
✅ Learn image upload basics with Django (plus the challenges with hosting images)
✅ Integrate Cloudinary Image & Hosting
✅ Optimize images sizes with a simple argument with thumbnails and large format
✅ Build an Email-first opt-in workflow
✅ Automatically resize videos to fit playback
✅ Custom email verification process from scratch
✅ Integrate TailwindCSS with django-tailwind
✅ Use HTMX to render and handle Forms
✅ Send Emails from Django with Gmail
✅ Customize the Django Admin to fully manage and view videos and courses
✅ Implement custom helper functions that can be re-used across Python projects
✅ Stylize the frontend using Flowbite
✅ Use the CloudinaryField on Django models to automatically handle images and videos
✅ and much more

Chapters
00:00:00 Welcome
00:00:51 Demo
00:06:39 Python Virtual Environment
00:10:24 Create the Django Project
00:15:53 Course Roadmap
00:21:05 Baseline Django Course Model
00:34:31 Django ImageField and Pillow
00:37:21 Syncing Code with Migrations
00:48:03 Django Admin to Manage Course Model
00:52:31 Handling Image Uploads in Development
01:01:12 How Django Manages Image Uploads
01:06:03 Configure Cloudinary for Django
01:13:48 Using the CloudinaryField for Django Image Hosting
01:17:22 Customize the Django Admin to Render HTML Images
01:22:56 On Demand Image Adjustments with Cloudinary Images
01:27:29 Model Methods for Image Sizes
01:33:18 Understanding Foreign Keys with the Lesson Model
01:42:18 Lesson Publish Status and Preview
01:45:03 Cloudinary Video + Thumbnail Fields for Lessons
01:48:26 Foreign Key Stacked Model Admin
01:50:23 Ordering with a Model Field
01:56:57 CloudinaryField Upload Options
02:06:09 Generate a Public ID Field
02:17:23 Reusable CloudinaryField Functions
02:28:25 Decoupling Cloudinary Helper Services from Models
02:42:07 Get Cloudinary Video Object Service
02:46:33 Signed Private Video URL in Admin
02:49:01 Embed Cloudinary Video with Pure HTML
02:54:10 Using Django Templates to Render Video
03:02:28 Using JavaScript for Video Embed Basics
03:09:30 Django & the Cloudinary Video Player
03:15:51 Override Django Admin Templates
03:23:53 Render Multiple Videos in One Page
03:29:02 View Logic and Database Lookup Services
03:37:50 URL View Routing for Database Lookups
03:48:04 Public ID As URL Path Lookups
03:53:25 Rendering Templates from Views
04:03:43 Render the Course List View
04:13:11 Course Detail View and Template Snippets
04:19:40 Lesson QuerySet for Different Status Values
04:29:57 Lesson Detail View
04:35:29 Render the Video Player for Users
04:43:56 Configure Django to Send Email with Gmail
04:52:19 Email Verification Models
04:58:32 Create the Email Model Form
05:02:43 Handing HTML Forms with Django
05:08:35 Rendering a Django Model Form
05:14:35 Email Validation & Verification Event
05:21:02 Email Verification Event Service
05:26:02 Send Email from Verification Event
05:34:37 Unique Verify Link with UUID
05:39:18 Verify Confirmation Token Service
05:50:58 Enrich the Session With Verified Email ID
05:57:28 Email Required on Lesson Detail View
06:04:27 Using HTMX To Dynamically Load Forms
06:13:02 HTMX with POST Data
06:19:34 Using HTMX to Handle Logout
06:24:35 But Why Tailwind with Django
06:28:51 Install django-tailwind
06:43:34 Setup Flowbite with django-tailwind
06:51:02 Login & Logout Views
06:56:13 Tailwind and the HTMX-Driven Login Form
07:01:16 Improved Course List View
07:07:13 List View with Thumbnail Images
07:17:06 Video Frame as Lesson Thumbnail
07:19:31 Base Template CSS Spacing
07:22:08 Course Detail View
07:28:32 Improved Unlock Content Page
07:30:02 Improved Homepage
07:35:51 Thank you
07:36:35 Next up
Рекомендации по теме
Комментарии
Автор

Thanks for watching. Code and chapters here 👇


Chapters
00:00:00 Welcome
00:00:51 Demo
00:06:39 Python Virtual Environment
00:10:24 Create the Django Project
00:15:53 Course Roadmap
00:21:05 Baseline Django Course Model
00:34:31 Django ImageField and Pillow
00:37:21 Syncing Code with Migrations
00:48:03 Django Admin to Manage Course Model
00:52:31 Handling Image Uploads in Development
01:01:12 How Django Manages Image Uploads
01:06:03 Configure Cloudinary for Django
01:13:48 Using the CloudinaryField for Django Image Hosting
01:17:22 Customize the Django Admin to Render HTML Images
01:22:56 On Demand Image Adjustments with Cloudinary Images
01:27:29 Model Methods for Image Sizes
01:33:18 Understanding Foreign Keys with the Lesson Model
01:42:18 Lesson Publish Status and Preview
01:45:03 Cloudinary Video + Thumbnail Fields for Lessons
01:48:26 Foreign Key Stacked Model Admin
01:50:23 Ordering with a Model Field
01:56:57 CloudinaryField Upload Options
02:06:09 Generate a Public ID Field
02:17:23 Reusable CloudinaryField Functions
02:28:25 Decoupling Cloudinary Helper Services from Models
02:42:07 Get Cloudinary Video Object Service
02:46:33 Signed Private Video URL in Admin
02:49:01 Embed Cloudinary Video with Pure HTML
02:54:10 Using Django Templates to Render Video
03:02:28 Using JavaScript for Video Embed Basics
03:09:30 Django & the Cloudinary Video Player
03:15:51 Override Django Admin Templates
03:23:53 Render Multiple Videos in One Page
03:29:02 View Logic and Database Lookup Services
03:37:50 URL View Routing for Database Lookups
03:48:04 Public ID As URL Path Lookups
03:53:25 Rendering Templates from Views
04:03:43 Render the Course List View
04:13:11 Course Detail View and Template Snippets
04:19:40 Lesson QuerySet for Different Status Values
04:29:57 Lesson Detail View
04:35:29 Render the Video Player for Users
04:43:56 Configure Django to Send Email with Gmail
04:52:19 Email Verification Models
04:58:32 Create the Email Model Form
05:02:43 Handing HTML Forms with Django
05:08:35 Rendering a Django Model Form
05:14:35 Email Validation & Verification Event
05:21:02 Email Verification Event Service
05:26:02 Send Email from Verification Event
05:34:37 Unique Verify Link with UUID
05:39:18 Verify Confirmation Token Service
05:50:58 Enrich the Session With Verified Email ID
05:57:28 Email Required on Lesson Detail View
06:04:27 Using HTMX To Dynamically Load Forms
06:13:02 HTMX with POST Data
06:19:34 Using HTMX to Handle Logout
06:24:35 But Why Tailwind with Django
06:28:51 Install django-tailwind
06:43:34 Setup Flowbite with django-tailwind
06:51:02 Login & Logout Views
06:56:13 Tailwind and the HTMX-Driven Login Form
07:01:16 Improved Course List View
07:07:13 List View with Thumbnail Images
07:17:06 Video Frame as Lesson Thumbnail
07:19:31 Base Template CSS Spacing
07:22:08 Course Detail View
07:28:32 Improved Unlock Content Page
07:30:02 Improved Homepage
07:35:51 Thank you
07:36:35 Next up

CodingEntrepreneurs
Автор

Bro is not pregnant. But always delivers.

rishabhmehrotra
Автор

I learnt django from you two years back and now i m thriving in my career. Thanks 🎉

sahilgarg
Автор

I remember this guy from Facebook and Udemy from back in 2012. Good to see you’re doing so well!

MJB_
Автор

One of the very few course creators that builds real practical apps and shares that knowledge for free.

pythonantole
Автор

Last 6 months i studied 10-12 hours a day, and can definitely say that you are the best! Provided a lot information what we will need in prod, and at all prepare us more for this environment. From first job will donate you half of my salary :). Thanks for lessons. Legend!

riadsultanov
Автор

Hi Justin,
Could you please consider Multi Tenancy in any of your future videos?

maqboolthoufeeqt
Автор

If you x0.75 the video and close you eyes, it'll feel like the UFC fighter Sean Strickland is teaching you django.

MihirSanjayYadav
Автор

I truly appreciate the way you teach Django. Your project-based approach has been incredibly helpful, and it has enabled me to confidently start my own projects based on the fundamentals I learned from your channel.

Makhosi-dk
Автор

Another high quality content! Congratulations man!

Автор

Before watching this course I thought I knew Django but this course told I know shit, and made me learn a ton.

kaustubhkadam
Автор

Looking at the code before starting. It makes me feel like I'm an impostor/don't know how to code. Good job.

icenreyes
Автор

Which font family you are using in your editor

ishwarambare
Автор

I can't descripe how this video is perfect. I will say one thing. may Allah bless you and guide you to the best always

Mu
Автор

Great video
Now waiting for a detail project on FastApi
which I hope will cover sqlalchemy orm with pydantics models with async Database with full authentication

realasticaproch
Автор

Thank you, excellent content with Django and you appreciate the material you're uploading from Cloudinary and Cloudflare

status--ok
Автор

Hello justin, appreciate your videos. i want to ask if you use drf and if you can make a course building a project using drf. Thank you

atitebisherif
Автор

When the image is deleted on site then the image also is deleted on Cloudinary ?

alimansimov
Автор

Thank you so much for this course, you dont know how this is really helping me a lot with experience you are providing thank you sir

khaledmouad
Автор

Very interactive and helpful tutorial. Would you create a full video tutorial on building a modern, interactive website using React for the frontend and Django for the backend?

md.alihaider