Django Academy icon

Django Academy

PYTHONPythonBackendWeb

Build production web apps with Django, Python's batteries-included framework. From models and views to REST APIs and deployment.

🤖 AI-Powered📚 30 courses👥 100,000+ learners⭐ 4.9 rating

How You'll Learn

🎯
Interactive Lessons
Hands-on coding exercises with real-time feedback
🤖
AI Tutor
Get instant help from our AI when you're stuck
💻
Built-in Editor
Write and run code directly in your browser
🏆
Certificate
Earn a certificate when you complete the course
Curriculum

30 Courses

Every course in the Django Academy learning path.

01

Meet Django: The Web Framework for Perfectionists

A14 lessons

Understand what Django is, why it exists, and how its batteries-included design fits real web apps.

  • What Django Is and What It Solves
  • MTV: Models, Templates, and Views
  • Batteries Included: ORM, Admin, Auth
  • +1 more
02

Install Django and Start Your First Project

A14 lessons

Set up a clean virtual environment and scaffold a working Django project from scratch.

  • Virtual Environments with venv
  • pip install django and Pinning Versions
  • django-admin startproject Explained
  • +1 more
03

Projects vs Apps: Structure Your Codebase

A14 lessonsPRO

Create your first reusable app and wire it into the project the Django way.

  • startapp and the App Folder Layout
  • Register Apps in INSTALLED_APPS
  • Touring settings.py
  • +1 more
04

The Request and Response Cycle

A14 lessonsPRO

Trace an HTTP request from the browser through Django to the response and back.

  • How a Request Reaches Your View
  • The HttpRequest Object
  • Returning an HttpResponse
  • +1 more
05

Your First View and URL

A14 lessonsPRO

Write function-based views and map clean URLs to them with confidence.

  • Writing a Function-Based View
  • URL Patterns with path()
  • Capturing URL Parameters
  • +1 more
06

Templates: Render HTML with Data

A24 lessonsPRO

Render dynamic HTML using the Django template language and template inheritance.

  • render() and the Template Context
  • Template Tags and Filters
  • Template Inheritance with extends and block
  • +1 more
07

Explore Django with the Shell

A24 lessonsPRO

Use the interactive shell to experiment with models, queries, and Python live.

  • Launching python manage.py shell
  • Importing and Inspecting Models
  • Creating and Saving Objects Live
  • +1 more
08

Models and Your First Database Table

A24 lessonsPRO

Define models that map to database tables and pick the right field types.

  • Defining a Model Class
  • Choosing Field Types
  • Field Options: null, blank, default
  • +1 more
09

Migrations: Evolve Your Schema Safely

A24 lessonsPRO

Create, apply, and reason about migrations as your models change over time.

  • makemigrations vs migrate
  • Reading a Migration File
  • Changing a Model and Re-migrating
  • +1 more
10

The Django Admin Site

A24 lessonsPRO

Turn on the admin and manage your data through a polished generated interface.

  • createsuperuser and Logging In
  • Registering Models with admin.site
  • Customizing ModelAdmin
  • +1 more
11

QuerySets: Read Data from the Database

B14 lessonsPRO

Fetch and filter records efficiently using the QuerySet API.

  • all(), get(), and filter()
  • Field Lookups and exclude()
  • order_by, Slicing, and Lazy Evaluation
  • +1 more
12

Forms: Collect and Validate Input

B14 lessonsPRO

Build Django forms that render fields and validate user input cleanly.

  • Defining a forms.Form
  • is_valid and cleaned_data
  • Rendering Forms in Templates
  • +1 more
13

Class-Based Views Fundamentals

B14 lessonsPRO

Replace repetitive function views with reusable class-based views.

  • From Function Views to View Classes
  • TemplateView and get_context_data
  • Handling get and post Methods
  • +1 more
14

Generic Display and Editing Views

B14 lessonsPRO

Use Django's generic CBVs to build CRUD pages with minimal code.

  • ListView and DetailView
  • CreateView and UpdateView
  • DeleteView and success_url
  • +1 more
15

ModelForms: Forms from Your Models

B14 lessonsPRO

Generate validated, model-backed forms that save records automatically.

  • Declaring a ModelForm and Meta.fields
  • form.save() and commit=False
  • Custom Validation with clean methods
  • +1 more
16

ORM Relationships: Connect Your Models

B14 lessonsPRO

Model real-world relationships with foreign keys, many-to-many, and one-to-one.

  • ForeignKey and on_delete
  • ManyToManyField and Through Models
  • OneToOneField for Profiles
  • +1 more
17

Authentication and Users

B14 lessonsPRO

Add login, logout, and registration backed by Django's auth system.

  • The User Model and authenticate()
  • login, logout, and Auth Views
  • Registration with UserCreationForm
  • +1 more
18

Sessions, Messages, and Cookies

B14 lessonsPRO

Persist per-user state and surface one-time feedback across requests.

  • The Session Framework
  • Reading and Writing request.session
  • The Messages Framework
  • +1 more
19

Static and Media Files

B14 lessonsPRO

Serve CSS, JS, and user uploads correctly in development and production.

  • STATICFILES and the static Tag
  • collectstatic for Production
  • MEDIA_ROOT and File Uploads
  • +1 more
20

Pagination and Testing Basics

B14 lessonsPRO

Split long lists across pages and write your first automated Django tests.

  • The Paginator Class
  • Page Controls in ListView
  • Writing TestCase and assertions
  • +1 more
21

Django REST Framework: First API

B24 lessonsPRO

Expose your models as a JSON API with Django REST Framework.

  • Installing and Configuring DRF
  • Serializers: Model to JSON
  • APIView and Function @api_view
  • +1 more
22

DRF ViewSets, Routers, and Auth

B24 lessonsPRO

Build a full CRUD API fast with ViewSets and secure it with token auth.

  • ModelViewSet and Routers
  • Permissions and Throttling
  • Token and JWT Authentication
  • +1 more
23

Advanced ORM: Aggregations and Expressions

B24 lessonsPRO

Compute statistics and build database-side logic with annotations and F/Q objects.

  • aggregate vs annotate
  • F Expressions for Atomic Updates
  • Q Objects for Complex Filters
  • +1 more
24

Kill the N+1: Query Optimization

B24 lessonsPRO

Diagnose and eliminate the N+1 problem to make queries fast.

  • Spotting the N+1 Problem
  • select_related for Foreign Keys
  • prefetch_related for M2M
  • +1 more
25

Signals and Custom Middleware

B24 lessonsPRO

React to model events and intercept every request with custom middleware.

  • post_save and pre_delete Signals
  • Connecting Receivers Properly
  • Writing Custom Middleware
  • +1 more
26

Caching for Speed

B24 lessonsPRO

Cache views, fragments, and queries to cut response times dramatically.

  • Cache Backends and Redis
  • Per-View and Per-Site Caching
  • Template Fragment Caching
  • +1 more
27

Celery and Background Tasks

B24 lessonsPRO

Offload slow work to background workers with Celery and a message broker.

  • Why You Need Background Tasks
  • Setting Up Celery with a Broker
  • Writing and Calling @shared_task
  • +1 more
28

Security Hardening in Production

B24 lessonsPRO

Lock down a Django site against the most common web attacks.

  • DEBUG, SECRET_KEY, and ALLOWED_HOSTS
  • HTTPS, HSTS, and Secure Cookies
  • XSS, CSRF, and SQL Injection Defenses
  • +1 more
29

Deploy with Gunicorn, Nginx, and WhiteNoise

B24 lessonsPRO

Take a Django app to a real server with a production WSGI stack.

  • Gunicorn as the WSGI Server
  • Nginx as a Reverse Proxy
  • WhiteNoise for Static Files
  • +1 more
30

Dockerize Django for Anywhere

B24 lessonsPRO

Package Django, Postgres, and Redis into reproducible containers.

  • Writing a Django Dockerfile
  • docker-compose with Postgres and Redis
  • Entrypoints, Migrations, and collectstatic
  • +1 more
FAQ

Frequently Asked Questions

Is the Django Academy course free?

Yes. You can start the Django Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn PYTHON?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior PYTHON experience.

How will I learn PYTHON on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Django Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Django Academy course.

Can I learn PYTHON on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn PYTHON on any device and your progress syncs across them.

Start Django Academy Now

Join thousands of learners mastering programming with AI-powered lessons.

Get Started Free →Browse All Courses