5

私はFlask-WTFormsでFlaskを使用しており、パスワードを含むユーザーの値を更新できる管理ページを作成しています。

登録に使用したのと同じフォームページを使用していますが、パスワードを更新する必要がないため、パスワードを要求したくありません。Flask-WTFormsでこれを行う正しい方法は何ですか?

私は自分UserFormのことを理解していて、カスタムバリデーターを作成することを考えていて、デフォルトのチェックをオーバーライドforms.pyするファイルレベルのオプションがあります。require_password私はWTFormsにかなり慣れていませんが、Flaskには少し慣れていません。

4

1 に答える 1

4

このソリューションは私が望むことをしているようです:

forms.py

from flask.ext.wtf import Optional

def make_optional(field):
    field.validators.insert(0, Optional())

#Rest of code here...

次に、フラスコのエンドポイント内で次のように呼び出すことができます。

user_form = UserForm()
forms.make_optional(user_form.password)
if user_form.validate_on_submit():
    #Go on your merry way!

それは私が望んでいたことをしているようです-パスワードが存在しない場合は何も無視しながら、他のすべての検証(確認など)を保持します。

于 2013-01-13T14:28:37.733 に答える