Visa dekoratörerLink to this heading

Django tillhandahåller flera dekoratorer som kan tillämpas på vyer för att stödja olika HTTP-funktioner.

Se Inredning av klassen för hur man använder dessa dekoratorer med klassbaserade vyer.

Tillåtna HTTP-metoderLink to this heading

Dekoratörerna i django.views.decorators.http kan användas för att begränsa åtkomsten till vyer baserat på förfrågningsmetoden. Dessa dekoratorer kommer att returnera en django.http.HttpResponseNotAllowed om villkoren inte uppfylls.

require_http_methods(request_method_list)Link to this definition

Dekorator för att kräva att en vy endast accepterar vissa förfrågningsmetoder. Användning:

Code
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

Observera att metoder för begäran ska skrivas med versaler.

require_GET()Link to this definition

Decorator för att kräva att en vy endast accepterar GET-metoden.

require_POST()Link to this definition

Decorator för att kräva att en vy endast accepterar POST-metoden.

require_safe()Link to this definition

Decorator för att kräva att en vy endast accepterar GET- och HEAD-metoderna. Dessa metoder anses vanligen vara ”säkra” eftersom de inte bör ha någon annan betydelse än att de hämtar den begärda resursen.

Behandling av villkorlig vyLink to this heading

Följande dekoratorer i django.views.decorators.http kan användas för att styra cachelagringsbeteendet för vissa vyer.

condition(etag_func=None, last_modified_func=None)Link to this definition
conditional_page()Link to this definition

Denna dekorator tillhandahåller den villkorliga GET-operationshanteringen av ConditionalGetMiddleware till en vy.

etag(etag_func)Link to this definition
last_modified(last_modified_func)Link to this definition

Dessa dekoratorer kan användas för att generera rubrikerna ETag och Last-Modified; se betingad vybehandling.

GZip-komprimeringLink to this heading

Dekoratörerna i django.views.decorators.gzip styr innehållskomprimering per vy.

gzip_page()Link to this definition

Denna dekorator komprimerar innehåll om webbläsaren tillåter gzip-komprimering. Den ställer in rubriken Vary i enlighet med detta, så att cacheminnet baserar sin lagring på rubriken Accept-Encoding.

Variera rubrikerLink to this heading

Dekoratörerna i django.views.decorators.vary kan användas för att styra cachelagring baserat på specifika förfrågningsrubriker.

vary_on_headers(*headers)Link to this definition

Rubriken Vary definierar vilka request-rubriker som en cachemekanism ska ta hänsyn till när den bygger upp sin cache-nyckel.

Se använda varierande rubriker.

CachningLink to this heading

Dekoratorerna i django.views.decorators.cache styr cachelagring på server- och klientsidan.

cache_control(**kwargs)Link to this definition

Denna dekorator patchar svarets Cache-Control-rubrik genom att lägga till alla nyckelordsargument till den. Se patch_cache_control() för detaljer om omvandlingen.

never_cache(view_func)Link to this definition

Denna dekoratör lägger till en Expires rubrik till aktuellt datum/tid.

Denna dekoratör lägger till en Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private rubrik till ett svar för att ange att en sida aldrig ska cachas.

Varje rubrik läggs bara till om den inte redan är inställd.

StandardLink to this heading

Dekoratorerna i django.views.decorators.common tillåter anpassning per vy av CommonMiddleware beteende.

no_append_slash()Link to this definition

Med denna dekorator kan enskilda vyer uteslutas från APPEND_SLASH URL-normalisering.