Python Django - The Practical Guide

Learn how to build web applications and websites with Python and the Django framework

Python Django - The Practical Guide

Course Overview

About This Course

You already know Python, but turning that knowledge into a real website can feel like hitting a wall: too many moving parts, too much boilerplate, and it’s unclear what “the right way” looks like. You want to build something dynamic—not just scripts—and you don’t want to stitch everything together from scratch.

In this course, you’ll use Django to get a clear, step-by-step path from an empty folder to a working web app. You’ll see how the pieces fit together as you add features incrementally, with explanations that connect what you write to what the framework is doing for you.

By the end, you’ll be able to create and run your own Django projects confidently, build pages that display and manage data, accept user input, and ship a working site to a production environment. You’ll also have a complete blog website you can reference when starting your next project.

What You'll Learn

You’ll work through Django’s full request-to-response workflow, then extend it with data models, forms, admin tooling, and deployment patterns used in real projects.

  • Build Django projects

    Create Django projects from scratch, run them locally, and add new features step by step so you always know where code belongs and how the app is structured.

  • Route requests to views

    Set up URLs and implement views that handle requests and return responses, so you can control what happens for each page and endpoint in your application.

  • Render pages with templates

    Produce dynamic HTML using Django templates and correctly include static files like CSS and images, so your pages are both data-driven and properly styled.

  • Model and query data

    Define models, create relationships (one-to-many, one-to-one, many-to-many), and query data with Django’s model solution to power real data management features.

  • Handle input and sessions

    Accept and validate user input with forms (manually and with Django’s built-in form support) and use sessions to keep state across requests when your app needs it.

  • Ship with advanced features

    Decide when to use class-based views, add administration panels, handle file uploads, and deploy with practical guidance—including options for serving static files and user uploads.

Ready to get started?

See enrollment options

Prerequisites

  • Basic Python knowledge is required.

  • Basic web development knowledge (HTML/CSS) is required.

  • No prior Django experience is required.

Who Is This Course For?

  • Python developers

    You’re comfortable writing Python and want your next step to be building real websites. This course gives you a structured way to move into web development without guessing how everything connects.

  • JavaScript developers

    You’ve built for the web before, but you want to explore Python for web development. This course helps you translate your web instincts into a Django-based workflow quickly.

  • Aspiring web builders

    You’re motivated to build websites with Python and want a guided path that results in a finished, working site you can learn from and build on after the course.

Curriculum Overview

Start Now

Preview the structure and pacing of this course before you begin.

  • Getting Started7 lectures17m
    • 01Welcome to the Course!2:05 min
    • 02What is Django?4:58 min
    • 03The Course Prerequisites1:54 min
    • 04What's Inside the Course?3:14 min
    • 05Getting the Most out of the Course3:05 min
    • 06Choose Your Course Path!2:41 min
    • 07The Academind Pro Referral Program0:00 min
  • Course Setup10 lectures38m
    • 01Module Introduction1:05 min
    • 02Installing Python & Django6:25 min
    • 03Creating a Django Project2:33 min
    • 04Installing an IDE7:54 min
    • 05Analyzing the Created Project4:48 min
    • 06Starting a Development Server5:05 min
    • 07Django Apps8:19 min
    • 08Analyzing the Created Project2:27 min
    • 09More Advanced Setup Steps0:00 min
    • 10Useful Resources & Links0:00 min
  • URLs & Views14 lectures1h 30m
    • 01Module Introduction2:45 min
    • 02Creating a New Project5:34 min
    • 03What are URLs & Views?5:42 min
    • 04Creating a First View & URL13:27 min
    • 05Adding More Views & URLs3:11 min
    • 06Dynamic Path Segments & Captured Values9:35 min
    • 07Path Converters5:16 min
    • 08Adding More Dynamic View Logic5:20 min
    • 09Redirects8:48 min
    • 10The Reverse Function & Named URLs10:31 min
    • 11Returning HTML5:48 min
    • 12Practicing URLs, Views & Dynamic View Logic9:37 min
    • 13Summary4:43 min
    • 14Useful Resources & Links0:00 min
  • Templates & Static Files21 lectures2h 1m
    • 01Module Introduction3:55 min
    • 02Adding & Registering Templates14:55 min
    • 03Rendering Templates4:16 min
    • 04Template Language & Variable Interpolation5:38 min
    • 05Exercise Solution1:56 min
    • 06Filters4:19 min
    • 07The Django Visual Studio Code Extension2:29 min
    • 08Tags & the "for" Tag8:02 min
    • 09The URL Tag for Dynamic URLs6:10 min
    • 10The "if" Tag for Conditional Content5:16 min
    • 11Template Inheritance9:38 min
    • 12Exercise Solution1:31 min
    • 13Including Partial Template Snippets9:45 min
    • 14More on the Django Template Language (DTL)0:00 min
    • 15404 Templates7:08 min
    • 16Adding Static Files9:13 min
    • 17Adding Global Static Files6:24 min
    • 18Adding CSS Styling15:55 min
    • 19Building Static URLs Dynamically0:00 min
    • 20Summary4:48 min
    • 21Useful Resources & Links0:00 min
  • Course Project: Building a Blog - The Basics15 lectures1h 34m
    • 01Module Introduction1:13 min
    • 02Setting Up the Starting Project3:45 min
    • 03Planning the Project4:26 min
    • 04Adding URLs & Views11:16 min
    • 05Adding First Templates8:10 min
    • 06Template Content & Static Files16:11 min
    • 07Adding Images as Static Files2:58 min
    • 08Adding the "All Posts" Page & Style10:32 min
    • 09Linking the Pages4:16 min
    • 10Adding the "Single Post" Page5:39 min
    • 11Adding Dummy Data to the "Views" File4:09 min
    • 12Special Template Features & Syntax11:26 min
    • 13Adding a Single Post Page8:44 min
    • 14Adding a 404 Page1:57 min
    • 15Useful Resources & Links0:00 min
  • Data & Models27 lectures2h 19m
    • 01Module Introduction2:55 min
    • 02Different Kinds of Data6:56 min
    • 03Understanding Database Options6:15 min
    • 04Understanding SQL6:38 min
    • 05Django Models1:02 min
    • 06Creating a Django Model with Fields9:44 min
    • 07Migrations6:58 min
    • 08Inserting Data4:35 min
    • 09Getting all Entries1:52 min
    • 10Updating Models & Migrations12:17 min
    • 11Blank vs Null2:42 min
    • 12Updating Data5:50 min
    • 13Deleting Data1:17 min
    • 14Create Instead of Save3:07 min
    • 15Querying & Filtering Data7:43 min
    • 16"or" Conditions4:02 min
    • 17Query Performance5:43 min
    • 18Bulk Operations0:00 min
    • 19Preparing Templates7:10 min
    • 20Rendering Queried Data in the Template2:59 min
    • 21Redering the Details Page9:38 min
    • 22Model URLs4:41 min
    • 23Adding a Slugfield & Overwriting Save9:04 min
    • 24Using the Slug & Updating Field Options6:05 min
    • 25Aggregation & Ordering7:13 min
    • 26Summary3:29 min
    • 27Useful Resources & Links0:00 min
  • Admin7 lectures25m
    • 01Module Introduction2:14 min
    • 02Logging Data Into the Admin Panel5:28 min
    • 03Adding Models to the Admin Area3:32 min
    • 04Configuring Model Fields3:03 min
    • 05Configuring the Admin Settings6:28 min
    • 06More Config Options5:04 min
    • 07Useful Resources & Links0:00 min
  • Relationships15 lectures1h 5m
    • 01Module Introduction1:52 min
    • 02Understanding Relationship Types3:04 min
    • 03Adding a one-to-many Relation & Migrations9:02 min
    • 04Working with Relations in Python Code6:29 min
    • 05Cross Model Queries8:24 min
    • 06Managing Relations in Admin5:06 min
    • 07Adding a one-to-one Relation6:42 min
    • 08One-to-one Python Code4:54 min
    • 09One-to-one & Admin Config5:23 min
    • 10Setting-up many-to-many4:44 min
    • 11Using many-to-many in Python5:18 min
    • 12Many-to-many in Admin2:20 min
    • 13Circular Relations & Lazy Relations0:00 min
    • 14Summary2:37 min
    • 15Useful Resources & Links0:00 min

And 8 more sections in the full course.

Ready to Get Started?

Choose the option that works best for you.

Single Course

Python Django - The Practical Guide

One Payment. Lifetime Access.

$69one-time

  • One-time payment
  • All future updates for this course
  • Downloadable resources & code
  • Certificate of completion
  • Hands-on exercises & projects
  • Self-paced learning
  • English captions on all videos
  • Lifetime access