2

我一直在使用 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 创建会话,以便我可以使用我的所有功能(许多检查会话以查看谁登录)或者我需要某种方法来创建“假” session 包含与以前基本相同的数据,因此我仍然可以使用这些功能。

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

4

1 回答 1

0

我发现我做错了什么。原来 web.input 需要上下文,据我所知,它在浏览器之外不可用。

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

于 2013-08-12T14:27:57.050 回答