So verwenden Sie Flask-WTF zur Implementierung der Formularvalidierung
Flask-WTF ist eine Flask-Erweiterung zur Handhabung der Webformularvalidierung. Sie bietet eine übersichtliche und flexible Möglichkeit, vom Benutzer übermittelte Daten zu validieren. In diesem Artikel erfahren Sie, wie Sie die Flask-WTF-Erweiterung zum Implementieren der Formularvalidierung verwenden.
Um Flask-WTF verwenden zu können, müssen Sie es zunächst installieren. Sie können den pip-Befehl zum Installieren verwenden:
pip install Flask-WTF
Um Flask-WTF in einer Flask-Anwendung zu verwenden, müssen Sie einige Module importieren. Fügen Sie der Datei app.py die folgende Importanweisung hinzu:
from flask import Flask, render_template, request from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired, Length
Die hier importierten Module umfassen Flask, FlaskForm und einige häufig verwendete Felder und Validatoren.
Erstellen Sie in der app.py-Datei eine Formularklasse, die von FlaskForm erbt. Jedes Formularfeld wird als Eigenschaft der Klasse definiert und die anzuwendenden Validatoren können über den Parameter validators angegeben werden. Hier ist zum Beispiel eine einfache Anmeldeformularklasse:
class LoginForm(FlaskForm): username = StringField('用户名', validators=[DataRequired(), Length(min=4, max=20)]) password = PasswordField('密码', validators=[DataRequired()]) submit = SubmitField('登录')
Diese Formularklasse enthält ein Benutzernamenfeld, ein Passwortfeld und eine Senden-Schaltfläche.
Erstellen Sie eine Flask-App und verwenden Sie das Formular in der Routing-Funktion. Zum Beispiel:
app = Flask(__name__) app.secret_key = 'your-secret-key' @app.route('/login', methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): # 表单验证通过 # 执行登录逻辑 return '登录成功' return render_template('login.html', form=form) if __name__ == '__main__': app.run()
In diesem Beispiel haben wir eine /login-Route erstellt, um das Anmeldeformular anzuzeigen. Wenn der Benutzer das Formular absendet, wird die Methode „validate_on_submit()“ zur Überprüfung aufgerufen. Wenn die Überprüfung erfolgreich ist, kann die Anmeldelogik ausgeführt werden. Andernfalls wird die Formularseite erneut gerendert und die Überprüfungsfehlermeldung angezeigt.
Erstellen Sie eine Vorlagendatei mit dem Namen login.html im Vorlagenordner, um das Anmeldeformular anzuzeigen. Sie können das von Flask-WTF bereitgestellte Formularattribut verwenden, um Formular-HTML-Code und Validierungsfehlerinformationen zu generieren. Beispiel:
<!DOCTYPE html> <html> <head> <title>登录</title> </head> <body> <h1>登录</h1> <form method="POST" action="{{ url_for('login') }}"> {{ form.csrf_token }} {{ form.username.label }} {{ form.username }} {% for error in form.username.errors %} <span style="color: red;">{{ error }}</span> {% endfor %} <br> {{ form.password.label }} {{ form.password }} {% for error in form.password.errors %} <span style="color: red;">{{ error }}</span> {% endfor %} <br> {{ form.submit }} </form> </body> </html>
Verwenden Sie in dieser Vorlagendatei form.csrf_token, um Felder zum Schutz vor standortübergreifenden Anforderungsfälschungen zu generieren. Formularfelder und Validierungsfehlermeldungen können jeweils über die Eigenschaften „form field“ und „form.errors“ generiert werden.
Verwenden Sie den folgenden Befehl, um die Anwendung auszuführen:
python app.py
Besuchen Sie http://localhost:5000/login im Browser, um die Anmeldeseite anzuzeigen. Geben Sie den Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche „Senden“. Anhand der Überprüfungsergebnisse können Sie sehen, dass die Formulardaten überprüft und entsprechend verarbeitet werden.
Die oben genannten Schritte sind die grundlegenden Schritte für die Verwendung von Flask-WTF zur Implementierung der Formularvalidierung. Mit dieser Methode können die von Benutzern übermittelten Daten leicht überprüft werden, um deren Rechtmäßigkeit und Sicherheit zu gewährleisten. Darüber hinaus bietet Flask-WTF weitere umfangreiche Funktionen wie Datei-Upload, Unterstützung mehrerer Sprachen usw. Ich hoffe, dieser Artikel kann Ihnen helfen und Ihnen ermöglichen, Flask-WTF besser für die Formularvalidierung zu nutzen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Flask-WTF zur Implementierung der Formularvalidierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!