相关疑难解决方法(0)

wtforms,CSRF,flask,FieldList

使用FieldListWTForms 时,我无法通过验证.我一直收到这个错误. {'csrf_token': [u'CSRF token missing']}.问题是如果我没有任何数据要在FieldList现场验证,验证通过并且没有问题.但是,当我尝试使用任何数据验证表单时,我得到了该错误.

这是我的表格:

class FilterForm(wtf.Form):
    filter_value = wtf.TextField('Value', validators=[validators.Required()])
    filter_operator = wtf.SelectField('Operator', validators=[validators.Required()])
    filter_compare_value=wtf.TextField('Compare Value', validators=[validators.Required()])


class RedirectForm(wtf.Form):
    redirect_id = wtf.HiddenField('id')
    redirect_name = wtf.TextField('Name', validators=[validators.Required()])
    redirect_url = wtf.TextField('URL', validators=[validators.Required()])
    redirect_type = wtf.SelectField('Type', validators=[validators.Required()])
    redirect_method = wtf.SelectField('Method', validators=[validators.Required()])
    redirect_active = wtf.BooleanField('Is Active')
    redirect_filters_any = wtf.FieldList(wtf.FormField(FilterForm))
    redirect_filters_all = wtf.FieldList(wtf.FormField(FilterForm))
Run Code Online (Sandbox Code Playgroud)

表单似乎正确显示并正常工作,直到我向其中任何一个redirect_filters_any或添加数据redirect_filters_all

有没有办法禁用csrf FieldList或将CSRF值传递给FieldList?我想保持启用CSRF保护,但似乎无法通过此验证问题.

这是Jinja2模板

{% extends "base.html" %}
{% set active_page = "endpoints" %}
{% block tail_script %} …
Run Code Online (Sandbox Code Playgroud)

csrf flask flask-wtforms

15
推荐指数
4
解决办法
8642
查看次数

标签 统计

csrf ×1

flask ×1

flask-wtforms ×1