Comment implémenter des intercepteurs dans le middleware Django

不言
Libérer: 2018-06-02 14:28:21
original
3019 Les gens l'ont consulté

Cet article présente principalement la méthode d'implémentation des intercepteurs dans le middleware Django. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

1. >

Nous connaissons tous l'intercepteur de JavaWeb Struts2 Avant que la requête ne soit transmise à Action pour traitement, elle est d'abord traitée dans l'intercepteur, puis transmise à Action après traitement.

Comment obtenir le même effet dans Django ?

2. Middleware Django

Voici la structure de répertoires de mon projet.

Tout d'abord, créez un nouveau fichier nommé middleware.py dans le répertoire de l'application (c'est-à-dire le répertoire Web de mon projet)

Ajoutez le code suivant à l'intérieur :

try:
from django.utils.deprecation import MiddlewareMixin # Django 1.10.x
except ImportError:
MiddlewareMixin = object # Django 1.4.x - Django 1.9.x
class SimpleMiddleware(MiddlewareMixin):
def process_request(self, request):
return None
def process_response(self, request, response):
return response
Copier après la connexion

Traitez la demande dans process_request et traitez la réponse dans process_response.

Dans la méthode process_request, lorsque la valeur de retour est un objet de type HttpResponse, elle n'est pas transmise au contrôleur ordinaire pour traitement, mais est renvoyée directement au navigateur. Lorsque la valeur de retour est None, le. la demande est transmise au responsable du traitement ordinaire après traitement par le contrôleur.

Le middleware que nous venons de créer dans la configuration middleware du fichier settings.py.

À ce stade, la configuration de travail de l'utilisation du middleware comme intercepteur est terminée.

Recommandations associées :

Méthodes pour renvoyer directement les requêtes du middleware Django

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal