问题描述
我发现使用 Forms
传递 MultiDict
值时缺少 CSRF 令牌。
from flask import Flask,render_template
from flask_wtf import FlaskForm
from werkzeug.datastructures import MultiDict
@app.route('/',methods=['GET','POST'])
def index():
varx = {'username':'test','email':"myemail@test.com"}
form = MainForm(MultiDict(varx))
在模板上,我试过了。
<form id="test-form" action="" method="POST" role="form">
{{ form.hidden_tag() }}
</form>
当我没有使用 MultiDict 传递值时,此解决方案有效,用于在将表单保存到我的数据库后重新填充表单:
<form id="test-form" action="" method="POST" role="form">
{{ form.csrf_token }}
</form>
有没有办法重新计算 csrf 令牌?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)