diff options
Diffstat (limited to 'docs/topics/http')
| -rw-r--r-- | docs/topics/http/decorators.txt | 71 | ||||
| -rw-r--r-- | docs/topics/http/index.txt | 1 |
2 files changed, 72 insertions, 0 deletions
diff --git a/docs/topics/http/decorators.txt b/docs/topics/http/decorators.txt new file mode 100644 index 0000000000..7bb62ae8f5 --- /dev/null +++ b/docs/topics/http/decorators.txt @@ -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>`. diff --git a/docs/topics/http/index.txt b/docs/topics/http/index.txt index 5ef776dd7b..0bcb3a2d48 100644 --- a/docs/topics/http/index.txt +++ b/docs/topics/http/index.txt @@ -8,6 +8,7 @@ Information on handling HTTP requests in Django: urls views + decorators file-uploads shortcuts generic-views |
