Django documentationLink to this heading
Everything you need to know about Django.
Getting helpLink to this heading
Having trouble? We’d like to help!
Try the FAQ – it’s got answers to many common questions.
Looking for specific information? Try the Index, Module Index or the detailed table of contents.
Search for information in the archives of the django-users mailing list, or post a question.
Ask a question in the #django IRC channel, or search the IRC logs to see if it’s been asked before.
Report bugs with Django in our ticket tracker.
First stepsLink to this heading
Are you new to Django or to programming? This is the place to start!
From scratch: Overview | Installation
Tutorial: Part 1: Models | Part 2: The admin site | Part 3: Views and templates | Part 4: Forms and generic views | Part 5: Testing | Part 6: Static files
Advanced Tutorials: How to write reusable apps | Writing your first patch for Django
The model layerLink to this heading
Django provides an abstraction layer (the “models”) for structuring and manipulating the data of your Web application. Learn more about it below:
Models: Introduction to models | Field types | Meta options | Model class
QuerySets: Executing queries | QuerySet method reference | Lookup expressions
Model instances: Instance methods | Accessing related objects
Migrations: Introduction to Migrations | Operations reference | SchemaEditor | Writing migrations
Advanced: Managers | Raw SQL | Transactions | Aggregation | Custom fields | Multiple databases | Custom lookups | Query Expressions | Conditional Expressions | Database Functions
Other: Supported databases | Legacy databases | Providing initial data | Optimize database access | PostgreSQL specific features
The view layerLink to this heading
Django has the concept of “views” to encapsulate the logic responsible for processing a user’s request and for returning the response. Find all you need to know about views via the links below:
The basics: URLconfs | View functions | Shortcuts | Decorators
Reference: Built-in Views | Request/response objects | TemplateResponse objects
File uploads: Overview | File objects | Storage API | Managing files | Custom storage
Class-based views: Overview | Built-in display views | Built-in editing views | Using mixins | API reference | Flattened index
Advanced: Generating CSV | Generating PDF
Middleware: Overview | Built-in middleware classes
The template layerLink to this heading
The template layer provides a designer-friendly syntax for rendering the information to be presented to the user. Learn how this syntax can be used by designers and how it can be extended by programmers:
The basics: Overview
For designers: Language overview | Built-in tags and filters | Humanization
For programmers: Template API | Custom tags and filters
FormsLink to this heading
Django provides a rich framework to facilitate the creation of forms and the manipulation of form data.
The basics: Overview | Form API | Built-in fields | Built-in widgets
Advanced: Forms for models | Integrating media | Formsets | Customizing validation
The development processLink to this heading
Learn about the various components and tools to help you in the development and testing of Django applications:
Settings: Overview | Full list of settings
Applications: Overview
Exceptions: Overview
django-admin and manage.py: Overview | Adding custom commands
Testing: Introduction | Writing and running tests | Included testing tools | Advanced topics
Deployment: Overview | WSGI servers | FastCGI/SCGI/AJP (deprecated) | Deploying static files | Tracking code errors by email
The adminLink to this heading
Find all you need to know about the automated admin interface, one of Django’s most popular features:
SecurityLink to this heading
Security is a topic of paramount importance in the development of Web applications and Django provides multiple protection tools and mechanisms:
Internationalization and localizationLink to this heading
Django offers a robust internationalization and localization framework to assist you in the development of applications for multiple languages and world regions:
Performance and optimizationLink to this heading
There are a variety of techniques and tools that can help get your code running more efficiently - faster, and using fewer system resources.
Python compatibilityLink to this heading
Django aims to be compatible with multiple different flavors and versions of Python:
Geographic frameworkLink to this heading
GeoDjango intends to be a world-class geographic Web framework. Its goal is to make it as easy as possible to build GIS Web applications and harness the power of spatially enabled data.
Common Web application toolsLink to this heading
Django offers multiple tools commonly needed in the development of Web applications:
Other core functionalitiesLink to this heading
Learn about some other core functionalities of the Django framework:
The Django open-source projectLink to this heading
Learn about the development process for the Django project itself and about how you can contribute:
Community: How to get involved | The release process | Team organization | Meet the team | Current roles | The Django source code repository | Security policies | Mailing lists
Design philosophies: Overview
Documentation: About this documentation
Third-party distributions: Overview
Django over time: API stability | Release notes and upgrading instructions | Deprecation Timeline