使用 MultiDict

问题描述

我发现使用 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 (将#修改为@)