summaryrefslogtreecommitdiff
path: root/parts/django/docs/ref/middleware.txt
diff options
context:
space:
mode:
authorNishanth Amuluru2011-01-08 11:20:57 +0530
committerNishanth Amuluru2011-01-08 11:20:57 +0530
commit65411d01d448ff0cd4abd14eee14cf60b5f8fc20 (patch)
treeb4c404363c4c63a61d6e2f8bd26c5b057c1fb09d /parts/django/docs/ref/middleware.txt
parent2e35094d43b4cc6974172e1febf76abb50f086ec (diff)
downloadpytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.gz
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.bz2
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.zip
Added buildout stuff and made changes accordingly
--HG-- rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => parts/django/Django.egg-info/dependency_links.txt rename : taskapp/models.py => parts/django/django/conf/app_template/models.py rename : taskapp/tests.py => parts/django/django/conf/app_template/tests.py rename : taskapp/views.py => parts/django/django/conf/app_template/views.py rename : taskapp/views.py => parts/django/django/contrib/gis/tests/geo3d/views.py rename : profile/management/__init__.py => parts/django/tests/modeltests/delete/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/files/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/invalid_models/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/m2m_signals/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/model_package/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/commands/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/models.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/delete_regress/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/file_storage/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/max_lengths/__init__.py rename : profile/forms.py => pytask/profile/forms.py rename : profile/management/__init__.py => pytask/profile/management/__init__.py rename : profile/management/commands/seed_db.py => pytask/profile/management/commands/seed_db.py rename : profile/models.py => pytask/profile/models.py rename : profile/templatetags/user_tags.py => pytask/profile/templatetags/user_tags.py rename : taskapp/tests.py => pytask/profile/tests.py rename : profile/urls.py => pytask/profile/urls.py rename : profile/utils.py => pytask/profile/utils.py rename : profile/views.py => pytask/profile/views.py rename : static/css/base.css => pytask/static/css/base.css rename : taskapp/tests.py => pytask/taskapp/tests.py rename : taskapp/views.py => pytask/taskapp/views.py rename : templates/base.html => pytask/templates/base.html rename : templates/profile/browse_notifications.html => pytask/templates/profile/browse_notifications.html rename : templates/profile/edit.html => pytask/templates/profile/edit.html rename : templates/profile/view.html => pytask/templates/profile/view.html rename : templates/profile/view_notification.html => pytask/templates/profile/view_notification.html rename : templates/registration/activate.html => pytask/templates/registration/activate.html rename : templates/registration/activation_email.txt => pytask/templates/registration/activation_email.txt rename : templates/registration/activation_email_subject.txt => pytask/templates/registration/activation_email_subject.txt rename : templates/registration/logged_out.html => pytask/templates/registration/logged_out.html rename : templates/registration/login.html => pytask/templates/registration/login.html rename : templates/registration/logout.html => pytask/templates/registration/logout.html rename : templates/registration/password_change_done.html => pytask/templates/registration/password_change_done.html rename : templates/registration/password_change_form.html => pytask/templates/registration/password_change_form.html rename : templates/registration/password_reset_complete.html => pytask/templates/registration/password_reset_complete.html rename : templates/registration/password_reset_confirm.html => pytask/templates/registration/password_reset_confirm.html rename : templates/registration/password_reset_done.html => pytask/templates/registration/password_reset_done.html rename : templates/registration/password_reset_email.html => pytask/templates/registration/password_reset_email.html rename : templates/registration/password_reset_form.html => pytask/templates/registration/password_reset_form.html rename : templates/registration/registration_complete.html => pytask/templates/registration/registration_complete.html rename : templates/registration/registration_form.html => pytask/templates/registration/registration_form.html rename : utils.py => pytask/utils.py
Diffstat (limited to 'parts/django/docs/ref/middleware.txt')
-rw-r--r--parts/django/docs/ref/middleware.txt212
1 files changed, 212 insertions, 0 deletions
diff --git a/parts/django/docs/ref/middleware.txt b/parts/django/docs/ref/middleware.txt
new file mode 100644
index 0000000..b3ddb23
--- /dev/null
+++ b/parts/django/docs/ref/middleware.txt
@@ -0,0 +1,212 @@
+==========
+Middleware
+==========
+
+.. module:: django.middleware
+ :synopsis: Django's built-in middleware classes.
+
+This document explains all middleware components that come with Django. For
+information on how how to use them and how to write your own middleware, see
+the :doc:`middleware usage guide </topics/http/middleware>`.
+
+Available middleware
+====================
+
+Cache middleware
+----------------
+
+.. module:: django.middleware.cache
+ :synopsis: Middleware for the site-wide cache.
+
+.. class:: UpdateCacheMiddleware
+
+.. class:: FetchFromCacheMiddleware
+
+Enable the site-wide cache. If these are enabled, each Django-powered page will
+be cached for as long as the :setting:`CACHE_MIDDLEWARE_SECONDS` setting
+defines. See the :doc:`cache documentation </topics/cache>`.
+
+"Common" middleware
+-------------------
+
+.. module:: django.middleware.common
+ :synopsis: Middleware adding "common" conveniences for perfectionists.
+
+.. class:: CommonMiddleware
+
+Adds a few conveniences for perfectionists:
+
+ * Forbids access to user agents in the :setting:`DISALLOWED_USER_AGENTS`
+ setting, which should be a list of strings.
+
+ * Performs URL rewriting based on the :setting:`APPEND_SLASH` and
+ :setting:`PREPEND_WWW` settings.
+
+ If :setting:`APPEND_SLASH` is ``True`` and the initial URL doesn't end
+ with a slash, and it is not found in the URLconf, then a new URL is
+ formed by appending a slash at the end. If this new URL is found in the
+ URLconf, then Django redirects the request to this new URL. Otherwise,
+ the initial URL is processed as usual.
+
+ For example, ``foo.com/bar`` will be redirected to ``foo.com/bar/`` if
+ you don't have a valid URL pattern for ``foo.com/bar`` but *do* have a
+ valid pattern for ``foo.com/bar/``.
+
+ .. versionchanged:: 1.0
+ The behavior of :setting:`APPEND_SLASH` has changed slightly in this
+ version. It didn't used to check whether the pattern was matched in
+ the URLconf.
+
+ If :setting:`PREPEND_WWW` is ``True``, URLs that lack a leading "www."
+ will be redirected to the same URL with a leading "www."
+
+ Both of these options are meant to normalize URLs. The philosophy is that
+ each URL should exist in one, and only one, place. Technically a URL
+ ``foo.com/bar`` is distinct from ``foo.com/bar/`` -- a search-engine
+ indexer would treat them as separate URLs -- so it's best practice to
+ normalize URLs.
+
+ * Sends broken link notification emails to :setting:`MANAGERS` if
+ :setting:`SEND_BROKEN_LINK_EMAILS` is set to ``True``.
+
+ * Handles ETags based on the :setting:`USE_ETAGS` setting. If
+ :setting:`USE_ETAGS` is set to ``True``, Django will calculate an ETag
+ for each request by MD5-hashing the page content, and it'll take care of
+ sending ``Not Modified`` responses, if appropriate.
+
+View metadata middleware
+------------------------
+
+.. module:: django.middleware.doc
+ :synopsis: Middleware to help your app self-document.
+
+.. class:: XViewMiddleware
+
+Sends custom ``X-View`` HTTP headers to HEAD requests that come from IP
+addresses defined in the :setting:`INTERNAL_IPS` setting. This is used by
+Django's :doc:`automatic documentation system </ref/contrib/admin/admindocs>`.
+
+GZIP middleware
+---------------
+
+.. module:: django.middleware.gzip
+ :synopsis: Middleware to serve gziped content for performance.
+
+.. class:: GZipMiddleware
+
+Compresses content for browsers that understand gzip compression (all modern
+browsers).
+
+It is suggested to place this first in the middleware list, so that the
+compression of the response content is the last thing that happens. Will not
+compress content bodies less than 200 bytes long, when the response code is
+something other than 200, JavaScript files (for IE compatibility), or
+responses that have the ``Content-Encoding`` header already specified.
+
+Conditional GET middleware
+--------------------------
+
+.. module:: django.middleware.http
+ :synopsis: Middleware handling advanced HTTP features.
+
+.. class:: ConditionalGetMiddleware
+
+Handles conditional GET operations. If the response has a ``ETag`` or
+``Last-Modified`` header, and the request has ``If-None-Match`` or
+``If-Modified-Since``, the response is replaced by an
+:class:`~django.http.HttpNotModified`.
+
+Also sets the ``Date`` and ``Content-Length`` response-headers.
+
+Reverse proxy middleware
+------------------------
+
+.. class:: SetRemoteAddrFromForwardedFor
+
+.. versionchanged:: 1.1
+
+This middleware was removed in Django 1.1. See :ref:`the release notes
+<removed-setremoteaddrfromforwardedfor-middleware>` for details.
+
+Locale middleware
+-----------------
+
+.. module:: django.middleware.locale
+ :synopsis: Middleware to enable language selection based on the request.
+
+.. class:: LocaleMiddleware
+
+Enables language selection based on data from the request. It customizes
+content for each user. See the :doc:`internationalization documentation
+</topics/i18n/index>`.
+
+Message middleware
+------------------
+
+.. module:: django.contrib.messages.middleware
+ :synopsis: Message middleware.
+
+.. class:: MessageMiddleware
+
+.. versionadded:: 1.2
+ ``MessageMiddleware`` was added.
+
+Enables cookie- and session-based message support. See the
+:doc:`messages documentation </ref/contrib/messages>`.
+
+Session middleware
+------------------
+
+.. module:: django.contrib.sessions.middleware
+ :synopsis: Session middleware.
+
+.. class:: SessionMiddleware
+
+Enables session support. See the :doc:`session documentation
+</topics/http/sessions>`.
+
+Authentication middleware
+-------------------------
+
+.. module:: django.contrib.auth.middleware
+ :synopsis: Authentication middleware.
+
+.. class:: AuthenticationMiddleware
+
+Adds the ``user`` attribute, representing the currently-logged-in user, to
+every incoming ``HttpRequest`` object. See :doc:`Authentication in Web requests
+</topics/auth>`.
+
+CSRF protection middleware
+--------------------------
+
+.. module:: django.middleware.csrf
+ :synopsis: Middleware adding protection against Cross Site Request
+ Forgeries.
+
+.. class:: CsrfMiddleware
+
+.. versionadded:: 1.0
+
+Adds protection against Cross Site Request Forgeries by adding hidden form
+fields to POST forms and checking requests for the correct value. See the
+:doc:`Cross Site Request Forgery protection documentation </ref/contrib/csrf>`.
+
+Transaction middleware
+----------------------
+
+.. module:: django.middleware.transaction
+ :synopsis: Middleware binding a database transaction to each Web request.
+
+.. class:: TransactionMiddleware
+
+Binds commit and rollback to the request/response phase. If a view function
+runs successfully, a commit is done. If it fails with an exception, a rollback
+is done.
+
+The order of this middleware in the stack is important: middleware modules
+running outside of it run with commit-on-save - the default Django behavior.
+Middleware modules running inside it (coming later in the stack) will be under
+the same transaction control as the view functions.
+
+See the :doc:`transaction management documentation </topics/db/transactions>`.