Décorateurs de vueLien vers cette rubrique
Django fournit plusieurs décorateurs afin de permettre aux vues de prendre en charge différentes fonctionnalités HTTP.
Méthodes HTTP autoriséesLien vers cette rubrique
Les décorateurs présents dans django.views.decorators.http peuvent être utilisés pour restreindre l’accès à une vue en se basant sur la méthode utilisée lors de la requête. Ces décorateurs renvoient une instance de django.http.HttpResponseNotAllowed si les conditions ne sont pas remplies.
- require_http_methods(request_method_list)Lien vers cette définition
Décorateur exigeant que l’accès à une vue se fasse via certaines méthodes HTTP seulement. Exemple :
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 # ... passRemarquez que les noms de méthodes HTTP doivent être en majuscules.
- require_GET()Lien vers cette définition
Décorateur exigeant que la vue n’accepte que la méthode GET.
- require_POST()Lien vers cette définition
Décorateur exigeant que la vue n’accepte que la méthode POST.
- require_safe()Lien vers cette définition
Décorateur exigeant que la vue n’accepte que les méthodes GET et HEAD. Ces méthodes sont généralement considérées « sans risque » car elles ne devraient rien faire d’autre mis à part retourner la ressource demandée.
Traitement conditionnel de vueLien vers cette rubrique
Les décorateurs suivants présents dans django.views.decorators.http peuvent être utilisés pour contrôler le comportement du cache sur certaines vues.
- condition(etag_func=None, last_modified_func=None)Lien vers cette définition
- etag(etag_func)Lien vers cette définition
- last_modified(last_modified_func)Lien vers cette définition
Ces décorateurs peuvent être utilisés pour générer des en-têtes
ETagetLast-Modified. Voir traitement conditionnel de vue.
Compression GZipLien vers cette rubrique
Les décorateurs présents dans django.views.decorators.gzip contrôlent la compression du contenu vue par vue.
- gzip_page()Lien vers cette définition
Ce décorateur compresse le contenu si le navigateur autorise la compression gzip. Il déclare l’en-tête
Varyen conséquence, de façon à ce que la mise en cache dépende de l’en-têteAccept-Encoding.
En-têtes VaryLien vers cette rubrique
Les décorateurs présents dans django.views.decorators.vary peuvent être utilisés pour contrôler la mise en cache reposant sur certains en-têtes des requêtes.
- vary_on_cookie(func)Lien vers cette définition
- vary_on_headers(*headers)Lien vers cette définition
L’en-tête
Varydéfinit quels en-têtes de requête un mécanisme de cache doit prendre en considération pour générer sa clé de cache.
Mise en cacheLien vers cette rubrique
Les décorateurs présents dans django.views.decorators.cache contrôlent la mise en cache aux niveaux serveur et client.
- never_cache(view_func)Lien vers cette définition
Ce décorateur ajoute un en-tête
Cache-Control: max-age=0, no-cache, no-store, must-revalidateà une réponse pour indiquer que la page ne doit jamais être mise en cache.