2017-09-21 20 views
0

フラスコWTFormsで私のデフォルト値が無視されることがあることに気がつきました。たとえば、次のようなアサーションエラーが発生することがあります。フラスコのWTFormsでデフォルト値が無視されるのはなぜですか?

class MyForm(FlaskForm): 
    something = StringField('something', validators=[], default='fun') 

# ... do some stuff 

def do_stuff(): 
    example = MyForm() 
    assert example.something.data == 'fun' 

答えて

0

理由は、フラスコwtformsがフォームを自動入力するためです。ほとんどの場合、これは参考になりますが、コマンドAにコマンドBを実行するためのいくつかのフォームを作成させている場合は、問題が発生します。

ご新たにインスタンス化されたフォームを使用して、指定されたデフォルト値を持っており、そのフラスコを要求からませプルデータをしていることを確認するには、明示的formdata=Noneを渡す必要がhttp://flask-wtf.readthedocs.io/en/stable/api.html

で説明したように(例えば、 MyForm(formdata=None)MyForm()を置き換えます
関連する問題