==================== Django documentation ==================== .. rubric:: Everything you need to know about Django. .. _index-first-steps: First steps =========== * **Getting started**: :doc:`/intro/overview` | :doc:`Installation ` | :doc:`Third-party distributions ` The tutorial takes you by the hand through a series of steps to create a web application. * **Tutorial**: :doc:`Part 1: Setting things up ` | :doc:`Part 2: Models and the admin site ` | :doc:`Part 3: Views and templates ` | :doc:`Part 4: Forms and generic views ` | :doc:`Part 5: Testing ` | :doc:`Part 6: Static files ` | :doc:`Part 7: Customizing the admin site ` | :doc:`Part 8: Adding third-party packages ` After that, there are some tutorials dedicated to particular topics. * **Follow-on tutorials**: :doc:`How to write reusable apps ` | :doc:`Writing your first contribution to Django ` The model layer =============== A Django *model* is a representation of the objects your application will handle, described in Python, and stored in a database. * **Models**: :doc:`Introduction to models ` | :doc:`Field types ` | :doc:`Custom fields ` | :doc:`Indexes ` | :doc:`Meta options ` | :doc:`Model class ` | :doc:`Managers ` * **Model instances and relations**: :doc:`Instance methods ` | :doc:`Accessing related objects ` | :doc:`Content types and generic relations ` * **Queries**: :doc:`Making queries ` | :doc:`QuerySet method reference ` | :doc:`Lookup expressions ` | :doc:`Query Expressions ` | :doc:`Conditional Expressions ` | :doc:`Custom lookups ` | :doc:`Aggregation ` | :doc:`Database Functions ` | :doc:`Raw SQL ` * **Migrations**: :doc:`Introduction to Migrations` | :doc:`Operations reference ` | :doc:`SchemaEditor ` | :doc:`Writing migrations ` * **Other**: :doc:`Transactions ` | :doc:`Search ` | :doc:`Multiple databases ` | :doc:`Providing initial data ` | :doc:`PostgreSQL specific features ` The view layer ============== Django *views* contain the logic responsible for processing a user's request and for returning the response. * **The basics**: :doc:`URLconfs ` | :doc:`View functions ` | :doc:`Shortcuts ` | :doc:`Decorators ` | :doc:`Asynchronous Support ` | :doc:`Conditional view processing ` * **Reference**: :doc:`Built-in Views ` | :doc:`Request/response objects ` | :doc:`TemplateResponse objects ` * **Class-based views**: :doc:`Introduction to class-based views ` | :doc:`Built-in display views ` | :doc:`Built-in editing views ` | :doc:`Using mixins ` | :doc:`API reference ` | :doc:`Flattened index ` * **Middleware**: :doc:`Introduction to middleware ` | :doc:`Built-in middleware classes ` * **Other output formats**: :doc:`Generating CSV ` | :doc:`Generating PDF ` The template layer ================== The template layer provides a designer-friendly syntax for rendering the information to be presented to the user. Template functionality can also be customized. * **The basics**: :doc:`/topics/templates` | :doc:`Language overview ` | :doc:`Built-in tags and filters ` | :doc:`Humanization ` | :doc:`Template API ` * **Customization and extension**: :doc:`Custom tags and filters ` | :doc:`Custom template backend ` Other core functionality ======================== * **Configuration**: :doc:`/topics/settings` | :doc:`Full list of settings ` | :doc:`Applications ` * **Exceptions**: :doc:`/ref/exceptions` * **Management commands**: :doc:`/ref/django-admin` | :doc:`Adding custom commands ` User-facing features ==================== * **Admin**: :doc:`Admin site ` | :doc:`Admin actions ` | :doc:`Admin documentation generator ` * **Content**: :doc:`Flatpages ` | :doc:`Redirects ` | :doc:`Pagination ` | :doc:`Messages framework ` * **Forms**: :doc:`/topics/forms/index` | :doc:`/ref/forms/api` | :doc:`Built-in fields ` | :doc:`Built-in widgets ` | :doc:`Forms for models ` | :doc:`Integrating media ` | :doc:`Formsets ` | :doc:`Customizing validation ` * **Internationalization and localization**: :doc:`Introduction to internationalization ` | :doc:`/topics/i18n/translation` | :doc:`/topics/i18n/formatting` | :doc:`/topics/i18n/timezones` | :doc:`/ref/unicode` * **Authentication**: :doc:`/topics/auth/index` | :doc:`Using the authentication system ` | :doc:`/topics/auth/passwords` | :doc:`/topics/auth/customizing` | :doc:`API Reference ` * **Geographic data and representation**: :doc:`GeoDjango ` Developer-facing features ========================= * **Core features**: :doc:`The sites framework ` | :doc:`Sessions ` | :doc:`Static files management ` * **Project-level features**: :doc:`Caching ` | :doc:`Logging ` | :doc:`System check framework ` * **Backend processing**: :doc:`Tasks framework ` | :doc:`Signals ` * **Data management**: :doc:`Serialization ` | :doc:`Data validation ` * **Discoverability**: :doc:`Sitemaps ` | :doc:`Syndication feeds (RSS/Atom) ` Resources and interfaces ======================== * **Databases**: :doc:`Supported databases ` | :doc:`Legacy databases ` * **Storage**: :doc:`/topics/http/file-uploads` | :doc:`File objects ` | :doc:`Storage API ` | :doc:`Managing files ` | :doc:`Custom storage ` * **Deployment**: :doc:`/howto/deployment/index` | :doc:`WSGI servers ` | :doc:`ASGI servers ` | :doc:`Deploying static files ` | :doc:`Tracking code errors by email ` | :doc:`Deployment checklist ` * **Email**: :doc:`Sending messages ` Quality and dependability ========================= A key concern in :doc:`Django's design philosophy ` is to make it easier to build applications that work safely and efficiently, in the real world. * **Testing**: :doc:`Introduction ` | :doc:`Writing and running tests ` | :doc:`Included testing tools ` | :doc:`Advanced topics ` * **Security**: :doc:`Security overview ` | :doc:`Disclosed security issues in Django ` | :doc:`Clickjacking protection ` | :doc:`Cross Site Request Forgery protection ` | :doc:`Cryptographic signing ` | :ref:`Security Middleware ` | :doc:`Content Security Policy ` * **Performance**: :doc:`Performance and optimization overview ` | :doc:`Optimize database access ` The Django open-source project ============================== Django moves forward steadily, thanks to a rigorous development process and a supportive community that welcomes new contributors: * **Community**: :doc:`Contributing to Django ` | :doc:`Team organization ` | :doc:`The Django source code repository ` | :doc:`Mailing lists and Forum ` * **Processes and policies**: :doc:`The release process ` | :doc:`Security policy ` | :doc:`Design philosophies ` * **Django over time**: :doc:`API stability ` | :doc:`Release notes and upgrading instructions ` | :doc:`Deprecation Timeline ` Getting help ============ Having trouble? We'd like to help! * Try the :doc:`FAQ ` -- it's got answers to many common questions. * Looking for specific information? Try the :ref:`genindex`, :ref:`modindex` or the :doc:`detailed table of contents `. * Not found anything? See :doc:`/faq/help` for information on getting support and asking questions to the community. * Report bugs with Django in our `ticket tracker`_. .. _ticket tracker: https://code.djangoproject.com/ How the documentation is organized ================================== The table of contents above unfolds Django's documentation thematically. Pages themselves are organized into an underlying hierarchy according to type, to help navigate the site: * The :doc:`tutorial ` takes you by the hand through a series of steps to create a web application. Start here if you're new to Django or web application development. * :doc:`Topic guides ` explain Django's functionality in detail and provide an overview of key concepts and how individual parts of Django can be used. * :doc:`Reference guides ` contain technical reference for APIs and other aspects of Django's machinery. * :doc:`How-to guides ` guide you through the work to address real-world problems and use-cases.