mirror of
				https://github.com/django/django.git
				synced 2025-11-04 05:35:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			358 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			358 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
====================
 | 
						|
Django documentation
 | 
						|
====================
 | 
						|
 | 
						|
.. rubric:: Everything you need to know about Django.
 | 
						|
 | 
						|
Getting help
 | 
						|
============
 | 
						|
 | 
						|
Having trouble? We'd like to help!
 | 
						|
 | 
						|
* Try the :doc:`FAQ <faq/index>` -- 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 <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`_.
 | 
						|
 | 
						|
.. _archives: https://groups.google.com/group/django-users/
 | 
						|
.. _post a question: https://groups.google.com/d/forum/django-users
 | 
						|
.. _#django IRC channel: irc://irc.freenode.net/django
 | 
						|
.. _IRC logs: http://django-irc-logs.com/
 | 
						|
.. _ticket tracker: https://code.djangoproject.com/
 | 
						|
 | 
						|
How the documentation is organized
 | 
						|
==================================
 | 
						|
 | 
						|
Django has a lot of documentation. A high-level overview of how it's organized
 | 
						|
will help you know where to look for certain things:
 | 
						|
 | 
						|
* :doc:`Tutorials </intro/index>` take 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. Also look at the ":ref:`index-first-steps`" below.
 | 
						|
 | 
						|
* :doc:`Topic guides </topics/index>` discuss key topics and concepts at a
 | 
						|
  fairly high level and provide useful background information and explanation.
 | 
						|
 | 
						|
* :doc:`Reference guides </ref/index>` contain technical reference for APIs and
 | 
						|
  other aspects of Django's machinery. They describe how it works and how to
 | 
						|
  use it but assume that you have a basic understanding of key concepts.
 | 
						|
 | 
						|
* :doc:`How-to guides </howto/index>` are recipes. They guide you through the
 | 
						|
  steps involved in addressing key problems and use-cases. They are more
 | 
						|
  advanced than tutorials and assume some knowledge of how Django works.
 | 
						|
 | 
						|
.. _index-first-steps:
 | 
						|
 | 
						|
First steps
 | 
						|
===========
 | 
						|
 | 
						|
Are you new to Django or to programming? This is the place to start!
 | 
						|
 | 
						|
* **From scratch:**
 | 
						|
  :doc:`Overview <intro/overview>` |
 | 
						|
  :doc:`Installation <intro/install>`
 | 
						|
 | 
						|
* **Tutorial:**
 | 
						|
  :doc:`Part 1: Requests and responses <intro/tutorial01>` |
 | 
						|
  :doc:`Part 2: Models and the admin site <intro/tutorial02>` |
 | 
						|
  :doc:`Part 3: Views and templates <intro/tutorial03>` |
 | 
						|
  :doc:`Part 4: Forms and generic views <intro/tutorial04>` |
 | 
						|
  :doc:`Part 5: Testing <intro/tutorial05>` |
 | 
						|
  :doc:`Part 6: Static files <intro/tutorial06>` |
 | 
						|
  :doc:`Part 7: Customizing the admin site <intro/tutorial07>`
 | 
						|
 | 
						|
* **Advanced Tutorials:**
 | 
						|
  :doc:`How to write reusable apps <intro/reusable-apps>` |
 | 
						|
  :doc:`Writing your first patch for Django <intro/contributing>`
 | 
						|
 | 
						|
The model layer
 | 
						|
===============
 | 
						|
 | 
						|
Django provides an abstraction layer (the "models") for structuring and
 | 
						|
manipulating the data of your Web application. Learn more about it below:
 | 
						|
 | 
						|
* **Models:**
 | 
						|
  :doc:`Introduction to models <topics/db/models>` |
 | 
						|
  :doc:`Field types <ref/models/fields>` |
 | 
						|
  :doc:`Meta options <ref/models/options>` |
 | 
						|
  :doc:`Model class <ref/models/class>`
 | 
						|
 | 
						|
* **QuerySets:**
 | 
						|
  :doc:`Executing queries <topics/db/queries>` |
 | 
						|
  :doc:`QuerySet method reference <ref/models/querysets>` |
 | 
						|
  :doc:`Lookup expressions <ref/models/lookups>`
 | 
						|
 | 
						|
* **Model instances:**
 | 
						|
  :doc:`Instance methods <ref/models/instances>` |
 | 
						|
  :doc:`Accessing related objects <ref/models/relations>`
 | 
						|
 | 
						|
* **Migrations:**
 | 
						|
  :doc:`Introduction to Migrations<topics/migrations>` |
 | 
						|
  :doc:`Operations reference <ref/migration-operations>` |
 | 
						|
  :doc:`SchemaEditor <ref/schema-editor>` |
 | 
						|
  :doc:`Writing migrations <howto/writing-migrations>`
 | 
						|
 | 
						|
* **Advanced:**
 | 
						|
  :doc:`Managers <topics/db/managers>` |
 | 
						|
  :doc:`Raw SQL <topics/db/sql>` |
 | 
						|
  :doc:`Transactions <topics/db/transactions>` |
 | 
						|
  :doc:`Aggregation <topics/db/aggregation>` |
 | 
						|
  :doc:`Custom fields <howto/custom-model-fields>` |
 | 
						|
  :doc:`Multiple databases <topics/db/multi-db>` |
 | 
						|
  :doc:`Custom lookups <howto/custom-lookups>` |
 | 
						|
  :doc:`Query Expressions <ref/models/expressions>` |
 | 
						|
  :doc:`Conditional Expressions <ref/models/conditional-expressions>` |
 | 
						|
  :doc:`Database Functions <ref/models/database-functions>`
 | 
						|
 | 
						|
* **Other:**
 | 
						|
  :doc:`Supported databases <ref/databases>` |
 | 
						|
  :doc:`Legacy databases <howto/legacy-databases>` |
 | 
						|
  :doc:`Providing initial data <howto/initial-data>` |
 | 
						|
  :doc:`Optimize database access <topics/db/optimization>` |
 | 
						|
  :doc:`PostgreSQL specific features <ref/contrib/postgres/index>`
 | 
						|
 | 
						|
The view layer
 | 
						|
==============
 | 
						|
 | 
						|
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:**
 | 
						|
  :doc:`URLconfs <topics/http/urls>` |
 | 
						|
  :doc:`View functions <topics/http/views>` |
 | 
						|
  :doc:`Shortcuts <topics/http/shortcuts>` |
 | 
						|
  :doc:`Decorators <topics/http/decorators>`
 | 
						|
 | 
						|
* **Reference:**
 | 
						|
  :doc:`Built-in Views <ref/views>` |
 | 
						|
  :doc:`Request/response objects <ref/request-response>` |
 | 
						|
  :doc:`TemplateResponse objects <ref/template-response>`
 | 
						|
 | 
						|
* **File uploads:**
 | 
						|
  :doc:`Overview <topics/http/file-uploads>` |
 | 
						|
  :doc:`File objects <ref/files/file>` |
 | 
						|
  :doc:`Storage API <ref/files/storage>` |
 | 
						|
  :doc:`Managing files <topics/files>` |
 | 
						|
  :doc:`Custom storage <howto/custom-file-storage>`
 | 
						|
 | 
						|
* **Class-based views:**
 | 
						|
  :doc:`Overview <topics/class-based-views/index>` |
 | 
						|
  :doc:`Built-in display views <topics/class-based-views/generic-display>` |
 | 
						|
  :doc:`Built-in editing views <topics/class-based-views/generic-editing>` |
 | 
						|
  :doc:`Using mixins <topics/class-based-views/mixins>` |
 | 
						|
  :doc:`API reference <ref/class-based-views/index>` |
 | 
						|
  :doc:`Flattened index<ref/class-based-views/flattened-index>`
 | 
						|
 | 
						|
* **Advanced:**
 | 
						|
  :doc:`Generating CSV <howto/outputting-csv>` |
 | 
						|
  :doc:`Generating PDF <howto/outputting-pdf>`
 | 
						|
 | 
						|
* **Middleware:**
 | 
						|
  :doc:`Overview <topics/http/middleware>` |
 | 
						|
  :doc:`Built-in middleware classes <ref/middleware>`
 | 
						|
 | 
						|
The template layer
 | 
						|
==================
 | 
						|
 | 
						|
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:**
 | 
						|
  :doc:`Overview <topics/templates>`
 | 
						|
 | 
						|
* **For designers:**
 | 
						|
  :doc:`Language overview <ref/templates/language>` |
 | 
						|
  :doc:`Built-in tags and filters <ref/templates/builtins>` |
 | 
						|
  :doc:`Humanization <ref/contrib/humanize>`
 | 
						|
 | 
						|
* **For programmers:**
 | 
						|
  :doc:`Template API <ref/templates/api>` |
 | 
						|
  :doc:`Custom tags and filters <howto/custom-template-tags>`
 | 
						|
 | 
						|
Forms
 | 
						|
=====
 | 
						|
 | 
						|
Django provides a rich framework to facilitate the creation of forms and the
 | 
						|
manipulation of form data.
 | 
						|
 | 
						|
* **The basics:**
 | 
						|
  :doc:`Overview <topics/forms/index>` |
 | 
						|
  :doc:`Form API <ref/forms/api>` |
 | 
						|
  :doc:`Built-in fields <ref/forms/fields>` |
 | 
						|
  :doc:`Built-in widgets <ref/forms/widgets>`
 | 
						|
 | 
						|
* **Advanced:**
 | 
						|
  :doc:`Forms for models <topics/forms/modelforms>` |
 | 
						|
  :doc:`Integrating media <topics/forms/media>` |
 | 
						|
  :doc:`Formsets <topics/forms/formsets>` |
 | 
						|
  :doc:`Customizing validation <ref/forms/validation>`
 | 
						|
 | 
						|
The development process
 | 
						|
=======================
 | 
						|
 | 
						|
Learn about the various components and tools to help you in the development and
 | 
						|
testing of Django applications:
 | 
						|
 | 
						|
* **Settings:**
 | 
						|
  :doc:`Overview <topics/settings>` |
 | 
						|
  :doc:`Full list of settings <ref/settings>`
 | 
						|
 | 
						|
* **Applications:**
 | 
						|
  :doc:`Overview <ref/applications>`
 | 
						|
 | 
						|
* **Exceptions:**
 | 
						|
  :doc:`Overview <ref/exceptions>`
 | 
						|
 | 
						|
* **django-admin and manage.py:**
 | 
						|
  :doc:`Overview <ref/django-admin>` |
 | 
						|
  :doc:`Adding custom commands <howto/custom-management-commands>`
 | 
						|
 | 
						|
* **Testing:**
 | 
						|
  :doc:`Introduction <topics/testing/index>` |
 | 
						|
  :doc:`Writing and running tests <topics/testing/overview>` |
 | 
						|
  :doc:`Included testing tools <topics/testing/tools>` |
 | 
						|
  :doc:`Advanced topics <topics/testing/advanced>`
 | 
						|
 | 
						|
* **Deployment:**
 | 
						|
  :doc:`Overview <howto/deployment/index>` |
 | 
						|
  :doc:`WSGI servers <howto/deployment/wsgi/index>` |
 | 
						|
  :doc:`Deploying static files <howto/static-files/deployment>` |
 | 
						|
  :doc:`Tracking code errors by email <howto/error-reporting>`
 | 
						|
 | 
						|
The admin
 | 
						|
=========
 | 
						|
 | 
						|
Find all you need to know about the automated admin interface, one of Django's
 | 
						|
most popular features:
 | 
						|
 | 
						|
* :doc:`Admin site <ref/contrib/admin/index>`
 | 
						|
* :doc:`Admin actions <ref/contrib/admin/actions>`
 | 
						|
* :doc:`Admin documentation generator<ref/contrib/admin/admindocs>`
 | 
						|
 | 
						|
Security
 | 
						|
========
 | 
						|
 | 
						|
Security is a topic of paramount importance in the development of Web
 | 
						|
applications and Django provides multiple protection tools and mechanisms:
 | 
						|
 | 
						|
* :doc:`Security overview <topics/security>`
 | 
						|
* :doc:`Disclosed security issues in Django <releases/security>`
 | 
						|
* :doc:`Clickjacking protection <ref/clickjacking>`
 | 
						|
* :doc:`Cross Site Request Forgery protection <ref/csrf>`
 | 
						|
* :doc:`Cryptographic signing <topics/signing>`
 | 
						|
* :ref:`Security Middleware <security-middleware>`
 | 
						|
 | 
						|
Internationalization and localization
 | 
						|
=====================================
 | 
						|
 | 
						|
Django offers a robust internationalization and localization framework to
 | 
						|
assist you in the development of applications for multiple languages and world
 | 
						|
regions:
 | 
						|
 | 
						|
* :doc:`Overview <topics/i18n/index>` |
 | 
						|
  :doc:`Internationalization <topics/i18n/translation>` |
 | 
						|
  :ref:`Localization <how-to-create-language-files>` |
 | 
						|
  :doc:`Localized Web UI formatting and form input <topics/i18n/formatting>`
 | 
						|
* :doc:`Time zones </topics/i18n/timezones>`
 | 
						|
 | 
						|
Performance and optimization
 | 
						|
============================
 | 
						|
 | 
						|
There are a variety of techniques and tools that can help get your code running
 | 
						|
more efficiently - faster, and using fewer system resources.
 | 
						|
 | 
						|
* :doc:`Performance and optimization overview <topics/performance>`
 | 
						|
 | 
						|
Python compatibility
 | 
						|
====================
 | 
						|
 | 
						|
Django aims to be compatible with multiple different flavors and versions of
 | 
						|
Python:
 | 
						|
 | 
						|
* :doc:`Jython support <howto/jython>`
 | 
						|
* :doc:`Python 3 compatibility <topics/python3>`
 | 
						|
 | 
						|
Geographic framework
 | 
						|
====================
 | 
						|
 | 
						|
:doc:`GeoDjango <ref/contrib/gis/index>` 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 tools
 | 
						|
============================
 | 
						|
 | 
						|
Django offers multiple tools commonly needed in the development of Web
 | 
						|
applications:
 | 
						|
 | 
						|
* **Authentication:**
 | 
						|
  :doc:`Overview <topics/auth/index>` |
 | 
						|
  :doc:`Using the authentication system <topics/auth/default>` |
 | 
						|
  :doc:`Password management <topics/auth/passwords>` |
 | 
						|
  :doc:`Customizing authentication <topics/auth/customizing>` |
 | 
						|
  :doc:`API Reference <ref/contrib/auth>`
 | 
						|
* :doc:`Caching <topics/cache>`
 | 
						|
* :doc:`Logging <topics/logging>`
 | 
						|
* :doc:`Sending emails <topics/email>`
 | 
						|
* :doc:`Syndication feeds (RSS/Atom) <ref/contrib/syndication>`
 | 
						|
* :doc:`Pagination <topics/pagination>`
 | 
						|
* :doc:`Messages framework <ref/contrib/messages>`
 | 
						|
* :doc:`Serialization <topics/serialization>`
 | 
						|
* :doc:`Sessions <topics/http/sessions>`
 | 
						|
* :doc:`Sitemaps <ref/contrib/sitemaps>`
 | 
						|
* :doc:`Static files management <ref/contrib/staticfiles>`
 | 
						|
* :doc:`Data validation <ref/validators>`
 | 
						|
 | 
						|
Other core functionalities
 | 
						|
==========================
 | 
						|
 | 
						|
Learn about some other core functionalities of the Django framework:
 | 
						|
 | 
						|
* :doc:`Conditional content processing <topics/conditional-view-processing>`
 | 
						|
* :doc:`Content types and generic relations <ref/contrib/contenttypes>`
 | 
						|
* :doc:`Flatpages <ref/contrib/flatpages>`
 | 
						|
* :doc:`Redirects <ref/contrib/redirects>`
 | 
						|
* :doc:`Signals <topics/signals>`
 | 
						|
* :doc:`System check framework <topics/checks>`
 | 
						|
* :doc:`The sites framework <ref/contrib/sites>`
 | 
						|
* :doc:`Unicode in Django <ref/unicode>`
 | 
						|
 | 
						|
The Django open-source project
 | 
						|
==============================
 | 
						|
 | 
						|
Learn about the development process for the Django project itself and about how
 | 
						|
you can contribute:
 | 
						|
 | 
						|
* **Community:**
 | 
						|
  :doc:`How to get involved <internals/contributing/index>` |
 | 
						|
  :doc:`The release process <internals/release-process>` |
 | 
						|
  :doc:`Team organization <internals/organization>` |
 | 
						|
  :doc:`Meet the team <internals/team>` |
 | 
						|
  :doc:`Current roles <internals/roles>` |
 | 
						|
  :doc:`The Django source code repository <internals/git>` |
 | 
						|
  :doc:`Security policies <internals/security>` |
 | 
						|
  :doc:`Mailing lists <internals/mailing-lists>`
 | 
						|
 | 
						|
* **Design philosophies:**
 | 
						|
  :doc:`Overview <misc/design-philosophies>`
 | 
						|
 | 
						|
* **Documentation:**
 | 
						|
  :doc:`About this documentation <internals/contributing/writing-documentation>`
 | 
						|
 | 
						|
* **Third-party distributions:**
 | 
						|
  :doc:`Overview <misc/distributions>`
 | 
						|
 | 
						|
* **Django over time:**
 | 
						|
  :doc:`API stability <misc/api-stability>` |
 | 
						|
  :doc:`Release notes and upgrading instructions <releases/index>` |
 | 
						|
  :doc:`Deprecation Timeline <internals/deprecation>`
 |