wev2py 1.99.2:将会话保存到数据库

发布于 2024-12-10 13:17:59 字数 514 浏览 0 评论 0原文

在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妖妓 2024-12-17 13:17:59

尝试移动

session.connect(request, response, db, masterapp=None)

在定义数据库连接后 到 db.py。当定义 auth 时(我假设您已在 db.py 或其他模型文件中定义了它),它需要访问会话,因此您必须首先连接到会话。

Try moving

session.connect(request, response, db, masterapp=None)

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文