動的に入力された SelectField を含むフォームを送信するときに問題が発生します。何らかの理由で、Flask が CSRF トークンを検証しようとすると、SelectField がフォームにあると常に失敗します。フォームから SelectField を削除すると、CSRF トークンが正常に検証されます。
誰かがこの動作に遭遇しましたか?
編集
形:
class AddToReportForm(Form):
selectReportField = SelectField(u'Reports',choices=[('test1','test')])
def __init__(self, *args, **kwargs):
"""
Initiates a new user form object
:param args: Python default
:param kwargs: Python default
"""
Form.__init__(self, *args, **kwargs)
def validate(self,id_list):
rv = Form.validate(self)
if not rv:
print False
#Check for the CSRF Token, if it's not there abort.
return False
print True
return True
ジンジャ2:
<form method=post name="test">
{{ form.hidden_tag()}}
{{ form.selectReportField }}
<a href="#" onclick="$(this).closest('form').submit()" class="button save">Add to report</a>
</form>
レンダリング:
form = AddToReportForm()
return render_template('random',title='add reports',form=form