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