Flask已经禁用了CSRF但是self.errors仍然有错误"' csrf_token':[' CSRF令牌丢失']"

时间:2014-08-28 07:43:09

标签: python flask csrf flask-wtforms

我有以下用于登录用户的视图。我正在使用flask-wtforms表格。

def login(self, username, password):
    return self.app.post('/users/login', data=dict(
    email=username,
    password=password
    ), follow_redirects=True)

我已在配置中禁用了CSRF:

class Config(object):
SECRET_KEY = .....
DEBUG = True
TESTING = True
CSRF_ENABLED = False
SQLALCHEMY_DATABASE_URI = .......

但我仍然在{'csrf_token': ['CSRF token missing']}

中收到错误self.errors

这里有什么问题?

3 个答案:

答案 0 :(得分:4)

您使用的是哪个版本的FLask-WTF?

在0.9.0版之前,您使用CSRF_ENABLED。 Source。版本> = 0.9.0使用WTF_CSRF_ENABLED。 Source

答案 1 :(得分:1)

我在最新的flask-wtforms文件中找到了解决方案(我读过的文档太旧了) 配置应该是WTF_CSRF_ENABLED而不是CSRF_ENABLED

答案 2 :(得分:0)

如果您使用的是截至2015年12月(v0.12)的最新版本,则应将SECRET_KEY = ...替换为WTF_CSRF_SECRET_KEY = ...