Machen CSRF Middleware arbeitet in Djangos 404-Fehlerseite
-
21-09-2019 - |
Frage
Ich habe ein Login-Feld allein mit einem Stichwort-Suchfeld in 404.html in einem Projekt Django so, falls ein Fehler 404 angehoben wird, Besucher mehr Optionen auf andere Teile springen zu bekommen.
Aber die CSRF-Middleware funktioniert nicht in 404-Fehlerseite ohne csrf Token generiert. Ich habe versucht, move ‚django.middleware.csrf.CsrfViewMiddleware‘ zum ersten von MIDDLEWARE_CLASSES in settings.py aber hat nicht funktioniert.
Wer weiß eine Lösung?
Lösung
Meine Idee ist, sollten Sie machen Ihre eigenen Fehlerbehandlungsroutine und erzeugen das Token manuell mit django.middleware.csrf.get_token ()
Andere Tipps
Sieht aus wie sie haben dies in Django fixiert http://code.djangoproject.com/ticket/14565
Das sagte, es scheint nicht in der neuesten Version zu sein, so dass ich eine benutzerdefinierten Fehler Ansicht mit dem gleichen Inhalt wie 'django.views.defaults.page_not_found'
erstellt, so dass die Änderungen in der Ticket-Diff-Datei gefunden.