CSRF-Überprüfung fehlgeschlagen, Anfrage abgebrochen in Django ist ein häufiger Fehler in Django, der durch das Fehlen eines CSRF-Tokens in einem Formular verursacht wird.
Verboten (403)
CSRF-Überprüfung fehlgeschlagen. Anfrage abgebrochen.
Hilfe
Grund für das Scheitern:
CSRF-Token fehlt oder ist ungültig.
Im Allgemeinen kann dies auftreten, wenn es sich um eine echte Cross-Site-Request-Forgery handelt oder wenn Djangos CSRF-Mechanismus nicht korrekt verwendet wurde. Für POST-Formulare müssen Sie sicherstellen:
Ihr Browser akzeptiert Cookies.
Die View-Funktion übergibt eine Anfrage an die Render-Methode des Templates.
Im Template gibt es ein {% csrf_token %} Template-Tag in jedem POST-Formular, das auf eine interne URL abzielt.
Wenn Sie CsrfViewMiddleware nicht verwenden, müssen Sie csrf_protect für alle Views verwenden, die das csrf_token Template-Tag verwenden, sowie für diejenigen, die die POST-Daten akzeptieren.
Das Formular hat ein gültiges CSRF-Token. Nach dem Einloggen in einem anderen Browser-Tab oder nach dem Drücken der Zurück-Taste nach einem Login müssen Sie möglicherweise die Seite mit dem Formular neu laden, da das Token nach einem Login rotiert wird.
Sie sehen den Hilfebereich dieser Seite, weil Sie DEBUG = True in Ihrer Django-Einstellungsdatei haben. Ändern Sie das auf False, und nur die ursprüngliche Fehlermeldung wird angezeigt.
Sie können diese Seite mit der Einstellung CSRF_FAILURE_VIEW anpassen.
Ursachen für diesen Fehler:
CSRF fehlt unter dem Django-Formular. Das Einfügen von CSRF würde bedeuten, dass wir dieses Formular in Django verwenden möchten.
Lösung für diesen Fehler:
Fügen Sie das CSRF-Token in ein Formular ein
{{ csrf_token }}
#motechapp
#CSRFtokenmissing #CSRFverificationfailedDjango #DjangoCSRFtoken