wev2py 1.99.2:将会话保存到数据库
在 web2py 版本 1.99.2 中,在 default.py 控制器的开头我写了以下内容:
session.connect(request, response, db, masterapp=None)
我正在使用 sql server 2008 Express 版本。在 db.py 中,我有:
db = DAL('mssql://sa:mypass@.\SQLEXPRESS/mytest')
现在,会话已按预期在数据库中创建。然后在 default.py 控制器中我添加:
@auth.requires_login()
def test():
return dict()
另外,创建了 default/test.html 视图。但是,当我尝试浏览到 default/test.html 页面时,它会重定向到用户/登录页面。如果我切换到默认的基于文件的会话,问题就会消失。我的代码有什么问题吗?
In web2py version 1.99.2, at the beginning of default.py controller I wrote the following:
session.connect(request, response, db, masterapp=None)
I'm using sql server 2008 express edition. In db.py I have:
db = DAL('mssql://sa:mypass@.\SQLEXPRESS/mytest')
Now, sessions are created in the database as expected. Then in default.py controller I added:
@auth.requires_login()
def test():
return dict()
Also, default/test.html view was created. But, when I try to browse to the default/test.html page it redirects to the user/login page. The problem goes away, if I switch to the default file-based session. What's wrong with my code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试移动
在定义数据库连接后 到 db.py。当定义 auth 时(我假设您已在 db.py 或其他模型文件中定义了它),它需要访问会话,因此您必须首先连接到会话。
Try moving
to db.py, right after you define the db connection. When
auth
is defined (I assume you have defined it in db.py or another model file), it needs to have access to the session, so you have to connect to the session first.