在web2py版本1.99.2中,在default.py控制器的开头我写了以下内容:
session.connect(request, response, db, masterapp=None)
我正在使用sql server 2008 express edition。在db.py中我有:
db = DAL('mssql://sa:mypass@.\SQLEXPRESS/mytest')
现在,按预期在数据库中创建会话。然后在default.py控制器中我添加了:
@auth.requires_login()
def test():
return dict()
此外,还创建了default / test.html视图。但是,当我尝试浏览默认/ test.html页面时,它会重定向到用户/登录页面。如果我切换到默认的基于文件的会话,问题就消失了。我的代码出了什么问题?
答案 0 :(得分:2)
尝试移动
session.connect(request, response, db, masterapp=None)
定义数据库连接后立即到db.py.定义auth
时(我假设您已在db.py或其他模型文件中定义它),它需要有权访问会话,因此您必须首先连接到会话。