Django is one of the most popular ways to create full-stack websites with Python.

We just published an 18-hour Django course on the freeCodeCamp.org YouTube channel.

Charles Severance (a.k.a. Dr. Chuck) created this course, along with the popular Python for Everybody course. He is a Clinical Professor at the University of Michigan School of Information, where he teaches various technology-oriented courses including programming, database design, and Web development.

This course introduces Python programmers to building websites using the Django library. As part of the course you will learn HTML, CSS, SQL, Django, JavaScript, jQuery, and JSON Web Services.  

Dr. Chuck getting ready to teach you.

Here are all the sections in this comprehensive course:

  • Why Teach Django?
  • Web Applications and the Request/Response Cycle
  • Exploring the HyperText Transfer Protocol
  • Using Sockets to Make Network Connections in Python
  • Building a Simple Web Browser in Python
  • Building a Simple HTTP Server in Python
  • Understanding Browser Developer Mode
  • The Structure of a Django Application
  • Installing Django on PythonAnywhere
  • HTML - HyperText Markup Language (Part 1)
  • HTML - HyperText Markup Language (Part 2)
  • Code Walk Through HTML
  • CSS - Cascading Style Sheets - (Part 1)
  • CSS - Cascading Style Sheets - (Part 2)
  • CSS - Cascading Style Sheets - (Part 3)
  • CSS - Sample Code Walkthrough (Part 1)
  • CSS - Sample Code Walkthrough (Part 2)
  • Using GitHub With Django and PythonAnywhere
  • Using ngrok to Submit Assignments to DJ4E
  • How Databases Work
  • Introduction to Structured Query Language (SQL)
  • Demonstration: Basic SQL
  • Introduction to Django Models
  • Data Model Migration in Django
  • Demonstration: Django Single Table Models
  • Resetting your Django database on PythonAnywhere
  • Django Models - Many-To-One Relationships - Music Database
  • Model View Controller in Django
  • URL Routing in Django
  • Django Views
  • Inside Django Views and HTML Escaping in Django
  • Using Templates in Django
  • The Django Template Language (DTL)
  • Inheritance in Django Templates
  • Reversing Django Views and URLs
  • Understanding Django Generic Views
  • Forms, GET, POST, and HTTP
  • Building HTML Forms
  • Forms and Cross Site Request Forgery (CSRF)
  • CSRF Support in Django
  • The POST Refresh Pattern
  • Cookies in Browsers and Django
  • Using Sessions in Django
  • One-to-Many Models Overview
  • Removing Replication in One-to-Many Models
  • Storing Primary and Foreign Keys in a Database
  • Representing One-To-Many Models in Django
  • Using the Django Shell to Explore One-to-Many Models
  • Loading One-to-Many Data using a Django Batch Script
  • Creating and Managing Users in Django
  • Login and Logout URLs in Django
  • Using Django Login in Views
  • Using Django Forms Capabilities
  • Walkthrough of the DJ4E Autos Sample - Generic Django Edit Forms
  • Data Validation with Django Forms
  • Exploring the DIY Hello World Django Application on Localhost
  • Exploring the DIY Hello World Django Application on PythonAnywhere
  • Virtual Hosting of Django Applications
  • Owned Rows in Django - Overview
  • Owned Rows in Django - Generic Views Review
  • Owned Rows in Django - owner.py
  • Walking through the DJ4E My Articles (myarts) Sample Code
  • Walking through the DJ4E Bootstrap Menu (menu) Sample Code
  • Walking through the DJ4E Crispy Forms (crispy) Sample Code
  • Many-to-Many Overview
  • A Simple Many-To-Many Example in Django
  • Many-To-Many Data Models for Courses and Membership
  • Building a Django Batch Script to Load Data from CSV
  • JavaScript - Overview and History
  • JavaScript - In the Browser
  • JavaScript - The Language
  • JavaScript Functions and Arrays
  • JavaScript Conditional and Loops
  • JavaScript Object Oriented Concepts
  • JavaScript Object Oriented Classes
  • Walking through the DJ4E Pictures (pics) Sample Code
  • Walking through the DJ4E Forums (forums) Sample Code
  • jQuery and the Document Object Model
  • Using jQuery
  • Walking through the DJ4E jQuery DOM sample code
  • Walking through the DJ4E jQuery setup sample code
  • Walking through the DJ4E jQuery events sample code
  • Walking through the DJ4E jQuery DOM modification
  • JSON/AJAX Overview
  • Walking through the DJ4E JSON Sample Code
  • Building an AJAX Chat with Django
  • Walking through the DJ4E JSON (chat) Sample Code
  • Walking through the DJ4E Favicon Sample Code
  • Walking through the DJ4E Social Login Code
  • Walking through the DJ4E Favorites (favs) Sample Code
  • Walking through the DJ4E Search (well) Sample Code
  • Behind the Scenes: Welcome to Django for Everybody - Why Django?

Watch the full course below or on the freeCodeCamp.org YouTube channel (18-hour watch).