Dj

Web Framework

·View all resources →

Django Learning Roadmap

Django is Python's most popular web framework — batteries-included, opinionated, and battle-tested at scale. It powers Instagram, Pinterest, Disqus, and thousands of production applications. Django's built-in ORM, admin panel, auth system, and migrations mean you ship working features fast. If you know Python, Django is the fastest path to a full-featured backend — no assembly required.

Total time

4–6 months

Stages

5 stages

Job-ready at

Stage 3

Career paths

2 paths

1
2
3
4
5

Before you start — Prerequisites

✓
Python fundamentals (required)

Django is Python. You need to know functions, classes, list comprehensions, decorators, and pip before starting.

✓

Basic HTML and HTTP concepts

Django generates HTML and handles HTTP requests — understanding GET/POST and HTML forms helps you move faster.

1

Stage 1: Django Basics

Projects, apps, settings, and the request cycle

2–3 weeks

Topics to cover

django-admin startproject and startappSettings: DEBUG, DATABASES, INSTALLED_APPSThe request/response lifecycleURL routing: path() and include()Function-based views (FBVs) basicsDjango templates and template tagsStatic files and the STATIC_URL settingDjango admin site: register and customise modelsmanage.py commands: runserver, shell, migrateVirtual environments and requirements.txt

Bold = especially important

Milestone

You create a Django project from scratch, define URLs and views, render templates, and use the Django admin to manage data.

Project to build

Personal blog

Django blog with Post model, list and detail views, template inheritance, and the admin to create and edit posts.

2

Stage 2: Models & ORM

Define data, run migrations, query the database

3–4 weeks

Topics to cover

Model fields: CharField, IntegerField, ForeignKeymakemigrations and migrateQuerySet API: filter, exclude, get, annotateRelated objects: select_related, prefetch_relatedForeignKey, ManyToManyField, and OneToOneFieldModel methods and the Meta classDjango ORM aggregation: Count, Sum, AvgCustom model managers and QuerySetsDjango signals: post_save, pre_deleteDatabase transactions with atomic()

Bold = especially important

Milestone

You design normalised database schemas in Django, write efficient queries with the ORM, and handle related data without N+1 problems.

Project to build

E-commerce catalogue

Products, Categories, and Tags with ManyToMany, ORM queries for filtering and sorting, prefetch_related to avoid N+1 queries.

3

Stage 3: Views, Forms & REST API

✓ Min. Job Ready

Class-based views, forms, and Django REST Framework

4–5 weeks

Topics to cover

Class-based views: ListView, DetailView, CreateViewDjango forms and ModelFormForm validation and cleaned_dataDjango REST Framework: serializers and viewsDRF ViewSets and RoutersDRF authentication: Token, SessionAuthenticationDRF permissions: IsAuthenticated, IsAdminUserFiltering with django-filterPagination in DRFDjango built-in authentication: login, logout, signup

Bold = especially important

Milestone

You build a full JSON REST API with DRF — serializers, ViewSets, token auth, and permissions. You're ready for backend developer roles requiring Django experience.

Project to build

Task manager REST API

DRF API with Project and Task models, token authentication, per-user ownership permissions, and filtering by status.

4

Stage 4: Advanced Django & DRF

JWT, custom auth, caching, and file uploads

3–4 weeks

Topics to cover

JWT with djangorestframework-simplejwtCustom user model (AbstractBaseUser)File uploads with FileField and S3 via django-storagesDjango caching: per-view, per-site, and cache_pageRedis cache backendEmail sending with Django email backendsDjango management commandsdjango-environ for 12-factor configDjango middleware: custom request processingWebsockets with Django Channels

Bold = especially important

Milestone

You add JWT auth, file uploads to S3, and Redis caching to a DRF API — features required in production-grade Django applications.

Project to build

File-sharing API

DRF API with JWT auth, file upload to S3 via django-storages, Redis caching for file metadata, and expiring download links.

5

Stage 5: Celery, Testing & Deployment

Background tasks, tests, and production ops

3–4 weeks

Topics to cover

Celery task queue with Redis brokerPeriodic tasks with Celery Beatpytest-django for unit and integration testsDRF APIClient for endpoint testingFactory Boy for test dataGunicorn and Nginx for productionDocker Compose: Django + Postgres + Redis + CeleryDeploy to Render, Fly.io, or HerokuSentry error trackingdjango-debug-toolbar for query profiling

Bold = especially important

Milestone

You run Django in Docker with Celery for background jobs, write tests with pytest-django, and deploy the full stack to a cloud provider.

Project to build

Async notification system

Django app with Celery tasks for email notifications and report generation, pytest test suite, Dockerised with Compose, deployed to Fly.io.

Career paths that use Django

Frequently asked questions

Django vs Flask vs FastAPI — which should I learn?

Django is best if you want a full-featured framework with an ORM, admin, and auth out of the box — great for content-heavy or data-rich apps. Flask is minimal and flexible, good for learning or microservices. FastAPI is the modern choice for building async REST APIs and ML model serving. For a first backend framework, Django teaches you the most in the shortest time.

Is Django still relevant in 2025?

Yes. Django's LTS releases are widely used in enterprise, media, and SaaS companies. Instagram still runs significant Django infrastructure. Django REST Framework (DRF) is the dominant way to build Python REST APIs outside of FastAPI. The ecosystem is mature and hiring demand for Django experience is consistent.

Do I need to know SQL to use Django?

Django's ORM lets you avoid writing raw SQL for most operations, but understanding SQL makes you significantly more effective — especially for optimising queries with select_related, prefetch_related, and raw() when the ORM falls short. Learn basic SQL (SELECT, JOIN, WHERE) alongside Django.

What database should I use with Django?

PostgreSQL is the standard production choice for Django. It supports advanced Django features (ArrayField, JSONField, full-text search) that SQLite and MySQL don't. Use SQLite for local development — it requires zero setup. Avoid MySQL unless your employer requires it.

How does Django REST Framework fit in?

Django out of the box renders HTML templates (great for traditional web apps). Django REST Framework (DRF) adds serializers, viewsets, and API browsing to turn Django into a JSON API server — perfect for React/Vue/mobile frontends. Most modern Django jobs use DRF, so plan to learn it after the core framework.

Ready to start learning?

Browse our curated Django resources — every course, book, and video ranked by quality.

View Django Resources →