Maison >développement back-end >Tutoriel Python >Comment implémenter des intercepteurs dans le middleware Django
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 responseTraitez 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!