[PYTHON] Erstellen Sie Ihre eigene Django-Middleware

** 2/28 Das Vergessen, Dateien in das Repository hochzuladen, wurde behoben. .. .. ** **.

Zweck

Erstellen und verwenden Sie Ihre eigene Middleware mit Django.

Umgebung

Was ist Djangos Middleware?

Vorverarbeitung und Anforderungsverarbeitung in der Ansicht Anfragen und Antworten werden als Nachbearbeitung der Ansicht verarbeitet.

Implementierung

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)

Einstellmethode

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',
]

Bewegung

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

Referenz

Ich habe den Beispielcode auf GitHub gepostet https://github.com/Fufuhu/DjangoMiddlewareSample

Recommended Posts

Erstellen Sie Ihre eigene Django-Middleware
[Django] Erstellen Sie Ihre eigene 403, 404, 500-Fehlerseite
Erstellen Sie Ihre eigene Ausnahme
Erstellen Sie Ihre eigenen Linux-Befehle in Python
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Erstellen Sie mit Twisted Ihren eigenen DNS-Server
Erstellen Sie ein Modell für Ihren Django-Zeitplan
Erstellen Sie mit SQLAlchemy Ihren eigenen zusammengesetzten Wert
Erstellen der ersten App mit Django Startprojekt
Erstellen Sie ein Rad Ihres eigenen OpenCV-Moduls
Initialisieren Sie die Django-App
Django Todo Listenerstellung
Memo zum Erstellen einer eigenen Box mit Peppers Python
Erstellen Sie Ihre eigenen Big Data in Python zur Validierung
Erstellen Sie Ihr eigenes Random Dot Stereogram (RDS) in Python.
[Blender x Python] Erstellen Sie Ihre eigene Funktion und Zusammenfassung
Erstellen Sie eine API mit Django
Django-Anfänger erstellen einfache Apps 3
Django-Anfänger erstellen einfache Apps 1
Optimieren der Django-Administrationsseite
ToDo-Listenerstellung [Python Django]
Erstellen Sie eine Homepage mit Django
Shell zum Erstellen eines Django-Projekts
Django-Anfänger erstellen einfache Apps 2
Erstellen Sie einen Django-Anmeldebildschirm
Installieren Sie Django auf dem Mac
Erstellen und listen Sie Django-Modelle auf
Reinforcement Learning 23 Erstellen und verwenden Sie Ihr eigenes Modul mit Colaboratory
Django-Anfänger erstellen einfache Apps 5
Erstellen Sie Ihre eigene Diagrammstrukturklasse und deren Zeichnung mit Python
Docker ausprobieren: Erstellen Sie Ihr eigenes Container-Image für eine Python-Web-App
Erstellen Sie Ihre eigene IoT-Plattform mit Himbeerpi und ESP32 (Teil 1)
[Python] Erstelle deinen eigenen LINE-Bot
Machen Sie Ihr eigenes Handbuch. [Linux] [Mann]
[Python] Anmelden Ihres eigenen Moduls
Registrieren Sie die Django-Anwendung im Projekt
Löse dein eigenes Labyrinth mit Q-Lernen
Erstellen Sie eine neue Anwendung mit Python, Django
Stellen Sie die Django-Anwendung auf Heroku bereit
Versuchen Sie, k-NN selbst zu implementieren
Bis Sie Ihren eigenen Dolmetscher selbst hosten
Überbrücken Sie ROS mit Ihrem eigenen Protokoll
Trainiere UGATIT mit deinem eigenen Datensatz
Löse dein eigenes Labyrinth mit DQN
Erstellen Sie mit Django einen Datei-Uploader
Erstellen Sie mit Django einen LINE-Bot
Erstellen Sie mit Python + OpenCV Ihre eigene virtuelle Kamera und wenden Sie Originaleffekte an