Tu pourrais écrire tes formulaires HTML à la main (<input name="email">) et récupérer les données dans Flask avec request.form['email'].
Tu POURRAIS le faire. Mais c'est une mauvaise idée. Pourquoi ?
1. La Sécurité (CSRF)
Le web est dangereux. Il y a une attaque classique appelée CSRF (Cross-Site Request Forgery). En gros, un méchant site peut faire croire à ton serveur que C'EST TOI qui as envoyé un formulaire (alors que tu étais juste en train de regarder des vidéos de chats).
Flask-WTF gère la protection CSRF automatiquement pour toi grâce à un "jeton" secret. Rien que pour ça, c'est indispensable.
2. La Validation
Vérifier si un email est valide, si un mot de passe est assez long, si un champ est obligatoire... C'est long et pénible à écrire en Python pur à chaque fois ("If email contains @ and . and..."). Flask-WTF fait ça en une ligne.
3. Le Rendu HTML
Il peut générer le HTML de tes inputs pour toi. Moins de code HTML à écrire = moins de bugs.
Installation
pip install flask-wtf email_validator
Configuration
Pour que la protection CSRF fonctionne, tu DOIS définir une clé secrète dans ta config Flask.
app = Flask(__name__)
app.config['SECRET_KEY'] = 'une-chaine-tres-secrete-et-aleatoire'
En vrai projet, on utilisera une variable d'environnement, mais pour l'instant, mets n'importe quoi de compliqué.