Ich versuche, ein Kontaktformular zu erstellen, indem ich flask benutze, bekomme aber diesen Fehler, wenn die Seite gerendert wird.
%Vor%Hier sind meine Dateien:
contact.html
%Vor%forms.py
%Vor%routes.py
%Vor%Alle anderen Seitenvorlagen funktionieren einwandfrei. Jeder Rat wäre großartig! Danke für die Hilfe!
Der Fehler, den Sie sehen, sagt Ihnen, dass forms.ContactForm
keine Methode namens "hidden_tag" hat. Sie verweisen auf diese Methode in der 6. Zeile von contact.html
wie folgt:
Gemäß der Flaschendokumentation ist dies die richtige Methode zum Implementieren von CSRF-Schutz .
Ich würde beginnen, indem Sie die Zeile entfernen, die "form.hidden_tag ()" referenziert, dann sehen Sie, ob Ihr Formular funktioniert. Gehen Sie dann zurück und implementieren Sie den CSRF-Schutz anhand dieser Anweisungen aus der Dokumentation.
Ich habe gerade auch dieses Problem behoben.
Ihr Problem besteht darin, dass Sie Form zweimal importiert haben, wodurch Ihr flask-wtf Form
Import nutzlos wurde.
Nur die Erweiterung flaschen-wtf hat die spezielle Klasse Form
, die CSRF automatisch / anders behandeln kann.
Es hat einige Zeit gedauert, das zu beheben.
Zuerst importieren Formular, Felder, Bootstrap als:
%Vor%Config geheimer Schlüssel und Bootstrap
%Vor%Erstellen Sie Ihr Formular wie gewohnt:
%Vor%Nichts Besonderes auch im Routing, gib es einfach normal zurück.
Im HTML:
%Vor%Und das ist es. Hoffe, Sie finden einige (oder alle) davon nützlich.