Fixed #6181 - Document django.views.decorators.http - thanks adamv for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15064 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Timo Graham 2010-12-27 13:27:26 +00:00
parent c00c377e54
commit ee5fb7d18c
5 changed files with 79 additions and 1 deletions

View file

@ -0,0 +1,71 @@
===============
View Decorators
===============
.. currentmodule:: django.views.decorators.http
Django provides several decorators that can be applied to views to support
various HTTP features.
Allowed HTTP Methods
====================
.. function:: require_http_methods(request_method_list)
This decorator is used to make a view only accept particular request methods.
Usage::
from django.views.decorators.http import require_http_methods
@require_http_methods(["GET", "POST"])
def my_view(request):
# I can assume now that only GET or POST requests make it this far
# ...
pass
Note that request methods should be in uppercase.
.. function:: require_GET()
Decorator to require that a view only accept the GET method.
.. function:: require_POST()
Decorator to require that a view only accept the POST method.
Conditional view processing
===========================
.. function:: condition(etag_func=None, last_modified_func=None)
.. function:: etag(etag_func)
.. function:: last_modified(last_modified_func)
These decorators can be used to generate ``ETag`` and ``Last-Modified``
headers; see
:doc:`conditional view processing </topics/conditional-view-processing>`.
.. currentmodule:: django.views.decorators.http
GZip Compression
================
.. function:: gzip_page()
This decorator compresses content if the browser allows gzip compression.
It sets the ``Vary`` header accordingly, so that caches will base their
storage on the ``Accept-Encoding`` header.
.. currentmodule:: django.views.decorators.vary
Vary Headers
============
The ``Vary`` header defines which request headers a cache mechanism should take
into account when building its cache key.
.. function:: vary_on_cookie(func)
.. function:: vary_on_headers(*headers)
See :ref:`using vary headers <using-vary-headers>`.

View file

@ -8,6 +8,7 @@ Information on handling HTTP requests in Django:
urls
views
decorators
file-uploads
shortcuts
generic-views