** 2/28 Das Vergessen, Dateien in das Repository hochzuladen, wurde behoben. .. .. ** **.
Erstellen und verwenden Sie Ihre eigene Middleware mit Django.
Vorverarbeitung und Anforderungsverarbeitung in der Ansicht Anfragen und Antworten werden als Nachbearbeitung der Ansicht verarbeitet.
middlewares
|_ __init__.py
|_ sample_middleware.py
sample_middleware.py
class SampleMiddleware(object):
"""
Beispiel Middleware,
Bevor die Anfrage von view und verarbeitet wird
Zeigen Sie einfach eine Zeichenfolge auf dem Bildschirm an, bevor die Antwort an den Client zurückgegeben wird
"""
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
self.process_request(request) #Vorverarbeitung
response = self.get_response(request) #Verarbeitung anzeigen
self.process_response(request, response) #Nachbearbeitung
return response
def process_request(self, request):
print("Anfrage bearbeiten")
def process_response(self, request, response):
print("Antwortverarbeitung")
Richtig vorbereitet für Routing und Ansichten. Alle Vorverarbeitungs- und Nachbearbeitungsmethoden können hinzugefügt werden (Natürlich muss es nicht process_ ~~ sein)
settings.Auszug aus py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'middleware_sample.middlewares.sample_middleware.SampleMiddleware',
]
Wenn Sie mit einem Browser auf http://127.0.0.1:8000/test/ zugreifen, Die folgenden Inhalte werden angezeigt.
Anzeige des serverseitigen Terminals beim Zugriff auf den Browser
Anfrage bearbeiten
Verarbeitungsansicht für Probe
Antwortverarbeitung
[27/Feb/2017 14:11:02] "GET /test/ HTTP/1.1" 200 22
Ich habe den Beispielcode auf GitHub gepostet https://github.com/Fufuhu/DjangoMiddlewareSample
Recommended Posts