2014-08-28 93 views
1

我有下面的视图来登录用户。我正在使用flask-wtforms表单。Flask已经禁用了CSRF,但self.errors仍然有错误“'csrf_token':['CSRF token missing']”

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

这里有什么问题?

回答

1

我发现烧瓶wtforms(我读的文档太旧)的最新文档中的解决方案 的配置应该WTF_CSRF_ENABLED不CSRF_ENABLED

4

您正在使用哪个烧瓶WTF的版本?

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

+0

我之前使用v0.8.3,我不知道该文件是太旧。现在我使用最新版本 – user3985704 2014-08-29 08:30:48

+0

那应该已经修复了。 – Michael 2014-08-29 13:26:18

0

如果您正在使用最新版本为2015年12月(v0.12),那么你应该更换SECRET_KEY = ...WTF_CSRF_SECRET_KEY = ...

相关问题