我可以在浏览器之外使用web.py会话吗?

时间:2013-08-11 15:31:17

标签: python web.py

我一直在使用web.py开发一个网络应用程序。它使用如下会话:

store = web.session.DBStore(db.sess, "sessions")
session = web.session.Session(
    app,
    store,
    initializer={
        "auth": False,
        "username": "anonymous",
        "preferences": db.data.select('preferences', where="username='anonymous'", limit=1)[0]
    }
)
web.config._session = session

我决定,拥有桌面应用程序也很有用。我遇到的一个问题是,我无法在Web浏览器之外使会话正常工作。我相信这只是另一个保存特定数据的对象,但我并不完全确定。

我需要的是使用web.py创建会话的一些方法,以便我可以使用它的所有功能(许多人检查会话以查看谁登录)或者我需要一些方法来创建“假”会话包含与以前基本相同的数据,因此我仍然可以使用这些功能。

我的目标是继续使用相同的模型,从那时起我就不必重写许多只复制功能的函数。

1 个答案:

答案 0 :(得分:0)

我发现了我做错了什么。结果是web.input需要上下文,就我所见,这在浏览器之外是不可用的。

我最终做的是将login(...)方法从login(input)更改为login(username, password)。现在,从交互式shell,我可以得到一个会话。我相信这会延续到桌面应用程序中,因为交互式shell不是浏览器。