Fare CSRF lavoro middleware in pagine di errore 404 di Django
-
21-09-2019 - |
Domanda
ho messo una scatola di inizio attività da solo con una casella di ricerca per parole chiave in 404.html in un progetto Django così nel caso in cui un errore 404 viene sollevato, i visitatori più opzioni per saltare ad altre parti.
Ma il middleware CSRF non funziona nella pagina di errore 404, senza token CSRF reso. Ho provato mossa 'django.middleware.csrf.CsrfViewMiddleware' per prima di MIDDLEWARE_CLASSES in settings.py ma non ha funzionato neanche.
Qualcuno sa una soluzione?
Soluzione
La mia idea è che si dovrebbe fare il proprio errore di gestore e generare manualmente il token con django.middleware.csrf.get_token ()
Altri suggerimenti
appare come hanno risolto questo in Django http://code.djangoproject.com/ticket/14565
Detto questo, non sembra di essere nella versione più recente, così ho creato una vista di errore personalizzato con lo stesso contenuto 'django.views.defaults.page_not_found'
, fare i cambiamenti trovati nel file diff biglietto.