Heim >Backend-Entwicklung >Python-Tutorial >So implementieren Sie Interceptoren in der Django-Middleware

So implementieren Sie Interceptoren in der Django-Middleware

不言
不言Original
2018-06-02 14:28:213085Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zur Implementierung von Interceptoren in der Django-Middleware vor. Jetzt kann ich ihn mit Ihnen teilen

Vorwort >

Wir sind alle mit dem Interceptor von JavaWeb Struts2 vertraut. Bevor die Anfrage zur Verarbeitung an Action übergeben wird, wird sie zuerst im Interceptor verarbeitet und dann nach der Verarbeitung an Action übergeben.

Wie erreiche ich den gleichen Effekt in Django?

2. Django-Middleware

Dies ist die Verzeichnisstruktur meines Projekts.

Erstellen Sie zunächst eine neue Datei mit dem Namen middleware.py im App-Verzeichnis (also dem Webverzeichnis meines Projekts)

Fügen Sie den folgenden Code hinzu:

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

Verarbeiten Sie die Anfrage in Process_request und Process_response, um die Antwort zu verarbeiten.

Wenn der Rückgabewert in der Methode „process_request“ ein Objekt vom Typ HttpResponse ist, wird er nicht zur Verarbeitung an den normalen Controller übergeben, sondern direkt an den Browser zurückgegeben Die Anfrage wird nach der Bearbeitung an den für die Verarbeitung Verantwortlichen übergeben.

Die Middleware, die wir gerade in der Middleware-Konfiguration der Datei „settings.py“ erstellt haben.

An diesem Punkt ist die Arbeitskonfiguration der Verwendung von Middleware als Interceptor abgeschlossen.

Verwandte Empfehlungen:

Methoden zur direkten Rückgabe von Anfragen von der Django-Middleware

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Interceptoren in der Django-Middleware. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn