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

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

πŸš€ Sign up for Cloudinary for free right now: https://cld.media/cfe πŸš€

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

β¦Ώ Blog post – Send Email with Gmail & Django: https://www.codingforentrepreneurs.com/blog/sending-email-in-django-from-gmail
β¦Ώ Code: https://github.com/codingforentrepreneurs/course-platform
β¦Ώ Subscribe: https://cfe.sh/youtube
β¦Ώ Setup Video for Python 3 & Django 3: https://youtu.be/e5o1miB0nyk

Thanks to Cloudinary or partnering with us on this video. Sign up for free this one: https://cld.media/cfe

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

https://www.youtube.com/watch?v=I_IchaIdmnA

#financialfreedomllc #businesstips #business #entrepreneur #businessowner #entrepreneurship #marketing #smallbusiness #businesscoach #digitalmarketing #success #entrepreneurlife #motivation #businessideas #businessgrowth #businesswoman #businessman #businessquotes #businessowners #businessstrategy #startup #businesslife #businessmindset #businessminded #entrepreneurs #businessadvice #entrepreneurmindset #marketingtips #onlinebusiness #branding

Scroll to Top