自定義表單一定要加上{{ form.hidden_tag() }}
#表單
class PostForm(Form):
body = TextAreaField('有什么事新鮮事分享一下吧!',validators=[Required(),Length(2,999)])
submit = SubmitField('發(fā)布')
#普通方法,一鍵添加
{{ 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 威脅,你不需要有任何擔心。盡管如此,如果你有不包含表單的視圖,那么它們仍需要保護。