【问题标题】:Web.py Session Data Disappears in ProductionWeb.py 会话数据在生产中消失
【发布时间】:2014-12-30 09:31:14
【问题描述】:

首先,生产意味着使用web.config.debug = False 运行。所以文档中建议的钩子没有帮助(也经过测试)。 所以我的登录脚本将三个变量保存到会话中。当我在函数中访问它们时,它们被设置,它们返回预期值。

                print session.get("privilege") # Return 0
                print logged() # Return 0
                session.login = 1
                session.privilege = ident['privilege']
                session.userid = ident['id']
                render = create_render(session.get('privilege'))
                print session.get("privilege") # Returns 1 <- as exprected
                print logged() # Returns True as expected
                raise web.seeother('/next')

在下一个类中,所有值再次设置为 0。 有任何想法吗?我使用 git,甚至回滚到早期(工作)版本也没有帮助。这种行为突然出现。我记得对系统(OSX Mavericks)所做的唯一更改是安装 cliclick。

【问题讨论】:

  • 能否举一个更完整更简单的例子?
  • 应用程序的用户是否有权限在服务器上写会话?您是否已经看到在任何时候创建的会话?
  • 是的,会话是在会话文件夹中创建的。 app.py 有 777 个 chmod。

标签: python session web.py


【解决方案1】:

您应该保存会话。假设sessionweb.ctx.session 那么你应该在raise web.seeother('/next')之前使用session.save()

【讨论】:

    猜你喜欢
    • 2012-01-22
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    相关资源
    最近更新 更多