Web applications with Django

Django comes with batteries included, and the point of these three days is to know which ones to use and when. We build a real project step by step, from the first view to deployment, and look at what happens under the hood whenever it matters.

Duration: 3 days, plus 2 optional days · Level: intermediate

For: developers who want to learn the Django framework.

Prerequisites: the basics of Python (following the Python training first is recommended).

Web applications with Django

Day 1 — Django fundamentals

  • A refresher on the HTTP protocol
  • Project structure
  • Configuration in settings.py
  • Function views and the request/response cycle
  • Routing URLs to views
  • Generating pages from templates
  • Filters and tags
  • Template inheritance and inclusion
  • Building dynamic links

Day 2 — Persistence and content

  • Models and fields
  • Database migrations
  • The Django admin
  • Advanced queries with the ORM
  • Identification, authentication and sessions
  • User permissions
  • Forms and validation
  • Going international: i18n and l10n
  • Class based views

Day 3 — Advanced notions

  • Intercepting every request with middlewares
  • Injecting objects into templates with a context processor
  • A custom User model: forcing a UUID
  • Cache and Redis
  • Task queues
  • Unit and integration tests
  • Static files and media
  • File uploads
  • Going to production

Day 4 — Optional: deep customisation

  • Writing your own authentication backend
  • Writing a custom form field
  • Writing a custom form widget
  • Custom filters and tags
  • Configuring logging
  • Debug toolbar, Sentry, Logfire, Allauth and Wagtail
  • Creating your own pluggable app

Day 5 — Optional: building a web API

  • Django-ninja vs Django Rest Framework
  • An introduction to Pydantic
  • Exposing your endpoints
  • Query strings, forms and uploads
  • Schema validation
  • Token authentication
  • Automatically generated documentation
  • Throttling
  • Good practices

Elevate Your Python Proficiency!