settoken失败是什么意思(提示TheCSRFtoken)

现象:

在使用flask编写的web程序提交表单时出现了如下错误提示:

settoken失败是什么意思(提示TheCSRFtoken)(1)

原因:

程序使用了flask_wtf模块的CSRFProtect来保护表单免受CSRF威胁。默认情况下对

所有视图启用了CSRF保护。但是部分模板中没有表单,所以没有添加csrf令牌,从而导致了错误。

解决办法:

在模板中添加一个CSRF令牌,如下所示:

settoken失败是什么意思(提示TheCSRFtoken)(2)

其他方法:

1.设置默认禁用所有的视图CSRF保护。

设置:WTF_CSRF_CHECK_DEFAULT = False

2.对于部分不需要CSRF保护的使用exempt装饰器。如下:

settoken失败是什么意思(提示TheCSRFtoken)(3)

其中csrf是CSRFProtect对象。

说明: 文章首发于fearlazy的博客,若后续文章中发现的错误或者内容补充将只在博客中进行更新。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页