Django Response Middleware: Name der Sicht abrufen, die die Antwort erstellt hat

8

Ich habe eine einfache Middleware, die überprüft, ob der HTML-Code in der Antwort gültig ist oder nicht.

Wenn der HTML-Code nicht gültig ist, ist ein HTML-Code nicht gültig "Exception wird in Entwicklungssystemen ausgelöst.

Bisher enthält die xception die URL und den Validierungsfehler.

Dann sieht der Entwickler die URL auf der bekannten gelben und grauen Django-Debug-Seite.

Vielleicht bin ich blind, aber wenn ich auf die Django-Debug-Seite schaue, kann ich nicht sehen, welche meiner Methoden / Ansichten den Inhalt mit dem kaputten HTML erstellt hat.

Gibt es eine Möglichkeit, der "html is not valid" -Ausnahme weitere Informationen hinzuzufügen, um den Entwickler zu unterstützen? Der Entwickler sollte die relevante Methode / Ansicht einfacher finden.

    
guettli 15.01.2018, 09:29
quelle

2 Antworten

3

Der process_view -Hook gibt Ihnen Zugriff auf die View-Funktion , Args und Kwargs. Sie können diese in der Anforderung speichern und dann verwenden, wenn Sie die Ausnahme "HTML ist nicht gültig" auslösen.

    
Alasdair 15.01.2018 09:46
quelle
1

Sie könnten process_view verwenden, wie Alasdair erwähnt, ein Wörterbuch für Ihre Debug-Meldungen initialisieren und sie mit den benötigten Informationen anzeigen.

Sie können auch das Wörterbuch (self.debug_helper['process_request'] = {}') wie unten gruppieren, um detaillierte Informationen der Anfrage / Antwort anzugeben.

__module__ gibt Ihnen das Modul, in dem die View-Funktion / Klasse definiert wurde.

%Vor%     
jazz 23.01.2018 18:07
quelle

Tags und Links