Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

WTFormsで GETで飛んできたパラメータを捕捉する

ちょっとハマった。結論から言うとこれで動いた。

@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>