---
title: "Visa dekoratörer"
version: 6.0
locale: sv
source: https://docs.djangoproject.com/sv/6.0/topics/http/decorators/
canonical: https://djangodocs.dev/sv/6.0/topics/http/decorators/
---
# Visa dekoratörer

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

Se [Inredning av klassen](/sv/6.0/topics/class-based-views/intro/#id1) för hur man använder dessa dekoratorer med klassbaserade vyer.

## Tillåtna HTTP-metoder

Dekoratörerna i [`django.views.decorators.http`](#module-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`](/sv/6.0/ref/request-response/#django.http.HttpResponseNotAllowed) om villkoren inte uppfylls.

#### `require_http_methods(request_method_list)`

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

```
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()`

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

#### `require_POST()`

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

#### `require_safe()`

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.

> **Note**
>
> Webbservrar bör automatiskt ta bort innehållet i svar på HEAD-begäranden medan rubrikerna lämnas oförändrade, så du kan hantera HEAD-begäranden precis som GET-begäranden i dina vyer. Eftersom vissa program, t.ex. länkgranskare, förlitar sig på HEAD-begäranden, kanske du föredrar att använda `require_safe` i stället för `require_GET`.

## Behandling av villkorlig vy

Följande dekoratorer i [`django.views.decorators.http`](#module-django.views.decorators.http) kan användas för att styra cachelagringsbeteendet för vissa vyer.

#### `condition(etag_func=None, last_modified_func=None)`

#### `conditional_page()`

Denna dekorator tillhandahåller den villkorliga GET-operationshanteringen av [`ConditionalGetMiddleware`](/sv/6.0/ref/middleware/#django.middleware.http.ConditionalGetMiddleware) till en vy.

#### `etag(etag_func)`

#### `last_modified(last_modified_func)`

Dessa dekoratorer kan användas för att generera rubrikerna `ETag` och `Last-Modified`; se [betingad vybehandling](/sv/6.0/topics/conditional-view-processing/).

## GZip-komprimering

Dekoratörerna i [`django.views.decorators.gzip`](#module-django.views.decorators.gzip) styr innehållskomprimering per vy.

#### `gzip_page()`

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 rubriker

Dekoratörerna i [`django.views.decorators.vary`](#module-django.views.decorators.vary) kan användas för att styra cachelagring baserat på specifika förfrågningsrubriker.

#### `vary_on_cookie(func)`

#### `vary_on_headers(*headers)`

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](/sv/6.0/topics/cache/#using-vary-headers).

## Cachning

Dekoratorerna i [`django.views.decorators.cache`](#module-django.views.decorators.cache) styr cachelagring på server- och klientsidan.

#### `cache_control(**kwargs)`

Denna dekorator patchar svarets `Cache-Control`-rubrik genom att lägga till alla nyckelordsargument till den. Se [`patch_cache_control()`](/sv/6.0/ref/utils/#django.utils.cache.patch_cache_control) för detaljer om omvandlingen.

#### `never_cache(view_func)`

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.

## Standard

Dekoratorerna i [`django.views.decorators.common`](#module-django.views.decorators.common) tillåter anpassning per vy av [`CommonMiddleware`](/sv/6.0/ref/middleware/#django.middleware.common.CommonMiddleware) beteende.

#### `no_append_slash()`

Med denna dekorator kan enskilda vyer uteslutas från [`APPEND_SLASH`](/sv/6.0/ref/settings/#std-setting-APPEND_SLASH) URL-normalisering.
