自定义表单一定要加上{{ form.hidden_tag() }}
#表单
class PostForm(Form):
body = TextAreaField('有什么事新鲜事分享一下吧!',validators=[Required(),Length(2,999)])
submit = SubmitField('发布')
#普通方法,一键添加
{{ wtf.quick_form(form) }}
#自定义使用表单
<form method="POST" action="{{ request.url }}">
内容:
{{ form.hidden_tag() }}
{{ form.body(class='form-control',style='height:200px;') }}
<br>
{{ form.submit(class='btn btn-default') }}
</form>
自定义表单一定要加上{{ form.hidden_tag() }},否则会提交不成功。
这一行代码实质上是添加了一个csrf_token,这是一个随机生成的token,用来防范黑客攻击。
<input id="csrf_token" name="csrf_token" type="hidden" value="1472826290##c774ba0a05ce0ea624b56c1eceda219d679b2b0c">
CSRF 保护
Flask-WTF 表单保护你免受 CSRF 威胁,你不需要有任何担心。尽管如此,如果你有不包含表单的视图,那么它们仍需要保护。
网友评论