Django Fundamentals Course: Build a Website with Python

Django Fundamentals is an intermediate-level course of 5 lessons (about 3 h 34 min), with 16 exercises and 15 quiz questions. Prerequisites: Intermediate Python (Functions, Modules, OOP), Database Modeling. The course needs a full project environment, planned for a later phase of the platform.

  • Python for the web
  • Intermediate
  • 5 lessons
  • 3 h 34 min
  • 16 exercises
  • Full project environment (phase 2)

The course in brief

This course presents the essential building blocks of Django, the most complete Python web framework. You create a project, route URLs to views, model data with the ORM and migrations, build pages with templates, then process forms and customize the admin interface. The exercises reproduce the logic in plain Python, and the tasks are done with the real Django.

What you will be able to do

  • Create a Django project structured into apps and route URLs to views
  • Model data with the ORM's fields and relationships and manage migrations
  • Query, filter and aggregate data with QuerySets
  • Build pages with render, the template language and template inheritance
  • Validate forms (Form, ModelForm) with CSRF and customize the admin

Syllabus: 5 lessons

  1. 01

    Project, Apps and First View

    18 minFree preview
    • Create a Django project and an app, and understand their respective roles
    • Write a function view and link it to a URL with path() and include()
    • Understand the request → URL → view → response cycle and the MTV architecture

    Project and appsURL routingViews

  2. 02

    Models and Migrations

    18 min
    • Describe data with a Django model and choose the right field types
    • Link two models with ForeignKey and choose on_delete
    • Create and apply migrations, and read the generated SQL

    ModelsField typesMigrations

  3. 03

    Querying Data with the ORM

    18 min
    • Create, read, update and delete objects with the ORM
    • Filter and sort with filter, exclude, get, order_by and lookups (__gte, __icontains...)
    • Understand the lazy evaluation of QuerySets and aggregate data

    Django ORMQuerySet and lookupsAggregation

  4. 04

    Views and Templates

    20 min
    • Build a page with render(), a context and a template
    • Use the template language: variables, filters, {% for %}, {% if %}, {% url %}
    • Factor out the layout with template inheritance and handle 404s

    Templatesrender and contextTemplate inheritance

  5. 05

    Forms and the Admin Interface

    20 min
    • Enable and customize Django's admin interface
    • Create forms with forms.Form and ModelForm, and validate data
    • Process a form in a view with the CSRF token and the Post/Redirect/Get pattern

    AdminFormsCSRF protection

Final project

Dynamic Showcase Site with Back Office

Build with Django the website of a small business (craftsperson, nonprofit or shop): public pages generated from the database (services or products by category, detail page by slug, search), a shared base template, a contact or quote form saved to the database, and a customized admin back office so the client can manage their content without a developer.

Deliverables

  • A Django project with at least two apps (content and contact) and their migrations
  • Templates using inheritance, {% url %} and static files
  • A contact or quote ModelForm with custom validation
  • An admin configuration (list_display, filters, search) and an installation README

Assessment criteria

  • Models use suitable field types, relationships with a considered on_delete and clean migrations
  • URLs are named and no URL is hard-coded in templates
  • Views handle 404s and contain no presentation logic
  • Forms are validated server-side, protected by CSRF and follow Post/Redirect/Get
  • The admin lets you manage all the content comfortably

Frequently asked questions

What are the prerequisites for learning Django?

A solid grasp of Python (functions, classes, modules) and some knowledge of relational databases: tables, primary and foreign keys. Basic HTML helps with templates.

Which version of Django is used?

The course is based on Django 6.1, the latest stable version. The concepts presented are the same in Django 5.2 LTS, the long-term support version.

Django or Flask, FastAPI?

Django provides everything needed for a complete web application (ORM, admin, authentication, forms). Flask and FastAPI are lighter and let you pick each building block; FastAPI specializes in APIs.

What will I build?

A product catalog with public pages, search, a contact form and an admin back office, then a final project of a blog or a dynamic showcase site.

This course, told for your job

Say what you want to be able to do: “Django Fundamentals” takes its place in your path, with examples from your field. The concepts stay those of the course.

The preview is free, and you can take the courses one at a time without paying. The path only contains lessons from the catalogue.