gpt4 book ai didi

python - 有没有办法在使用 Flask 和 Flask-WTForms 循环表单时隐藏 csrf 标签?

转载 作者:IT老高 更新时间:2023-10-28 22:20:41 40 4
gpt4 key购买 nike

我有一个非常简单的联系表格,我想以某种方式隐藏标签,这样它就不会显示 Csrf Token。我正在使用 Flask 和 Flask-WTForms 并呈现这样的表单:

{% for field in form %}
{{ field.label }}
{{ field }}
{% endfor %}

所以基本上这显示了我的输入正确并且 csrf oen 被隐藏但标签没有被隐藏?我应该克服它并隐含地说 form.field_name 而不是循环遍历表单还是有办法处理这种“极端情况”。

我正在考虑在 for 循环声明或标签声明中进行逻辑检查,但到目前为止我还没有在文档中找到任何有效的内容。

谢谢

编辑:我已经通过这样做“解决”了这个问题,但感觉有点肮脏和骇人听闻,我不喜欢我仍然对更好的解决方案持开放态度:

{% if not loop.first %}
{{ field.label }}
{% endif %}

最佳答案

如果您想要一个适用于所有隐藏字段而不仅仅是 CSRF token 的更通用的解决方案:

{{ form.hidden_tag() }}
{% for field in form if field.widget.input_type != 'hidden' %}
{{ field.label }}
{{ field }}
{% endfor %}

form.hidden_​​tag() 由 Flask-WTF 提供。

关于python - 有没有办法在使用 Flask 和 Flask-WTForms 循环表单时隐藏 csrf 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763139/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com