相关疑难解决方法(0)

由于缺少CSRF,表单验证失败

几天前,我已经重置了我的本地烧瓶环境,而没有pip freeze在删除它之前通过a捕获了依赖关系.因此我不得不重新安装整个堆栈的最新版本.

现在突然之间,我无法再使用表单进行验证.Flask声称CSRF将丢失.

def register():
    form = RegisterForm()
    if form.validate_on_submit():
       ...
    return make_response("register.html", form=form, error=form.errors)
Run Code Online (Sandbox Code Playgroud)

我第一次发送一个Getform.errors按预期检索一个空.现在我填写表格并提交并form.errors显示:{'csrf_token': [u'CSRF token missing']}

这太奇怪了.我想知道Flask-WTF是否已经改变,我错误地使用它.

我可以清楚地看到form.CSRF_token存在,为什么它声称它丢失了?

CSRFTokenField: <input id="csrf_token" name="csrf_token" type="hidden" value="1391278044.35##3f90ec8062a9e91707e70c2edb919f7e8236ddb5">
Run Code Online (Sandbox Code Playgroud)

我从未触及过工作模板,但我在这里发布了它:

{% from "_formhelpers.html" import render_field %}
{% extends "base.html" %}
{% block body %}
<div class="center simpleform">
    <h2>Register</h2>
    {% if error %}<p class=error><strong>Error:</strong> {{ error }}{% endif %}
    <form class="form-signin" action="{{ url_for('register') }}" method=post>
        {{form.hidden_tag()}}
        <dl>
            {{ render_field(form.name) }}
            {{ render_field(form.email) …
Run Code Online (Sandbox Code Playgroud)

python forms flask flask-wtforms

22
推荐指数
3
解决办法
3万
查看次数

标签 统计

flask ×1

flask-wtforms ×1

forms ×1

python ×1