ちょっとハマった。結論から言うとこれで動いた。
@app.route("aaa") def user_summary(): form = UserForm(request.args)
request.args
を引数に入れると、フィールドの変数と同じ名前のパラメータのデータを紐付けてくれる。
この引数が入っていないと、フィールドのdata変数が全部 Noneになってしまう!
class UserForm(FlaskForm): keyword = StringField("キーワード")
HTMLはこんな感じ。
<form action=" method="get"> <div class="row g-1 inline"> <div class="col-auto"> {{form.keyword.label}} </div> <div class="col-auto"> {{ form.keyword(class_="form-control")}} </div> <div class="col-auto"> <input type="submit" value="検索" class="btn btn-primary" class="form-control" /> </div> </div> </form>