Django

A batteries-included Python web framework favoring convention over configuration.

CurrentintermediateGuide only -- no course yet

Overview

Django is a full-featured Python web framework including an ORM, admin interface, authentication, and templating out of the box, following a 'batteries included' philosophy. It's a strong choice when you want a well-trodden, structured path from database model to web page.

What it is
A full-stack Python web framework with a built-in ORM, admin panel, and authentication.
Why it's used
For rapid development of database-backed web applications without assembling separate libraries for each concern.
Where it fits
After Python fundamentals; a common choice for content-heavy or admin-heavy web applications.

Core concepts

  • Models (the ORM)
  • Views and URL routing
  • Templates
  • The Django admin
  • Migrations

Example

A Django model is a Python class that maps directly to a database table -- Django's ORM generates SQL from this definition, including migrations to evolve the schema.

class Book(models.Model):
    title = models.CharField(max_length=200)
    price = models.DecimalField(max_digits=6, decimal_places=2)

Common use cases

  • Content management systems
  • Admin-heavy internal tools
  • Database-backed web applications

Project ideas

  • A simple blog with a Post model, list view, and detail view

Official references