[问题]bae中使用web.py框架session使用

2013-09-08 20:50:45 +08:00
 fiinnay
web.py官方有个说明
在子应用下使用session
http://webpy.org/cookbook/sessions_with_subapp.zh-cn
其中说的解法:

web.py默认session信息只能在主应用中共享,即便在其他模块中import Session都不行。在app.py或main.py)可以这样初始化session:

session = web.session.Session(app, web.session.DiskStore('sessions'),
initializer = {'test': 'woot', 'foo':''})

.. 接下来创建一个被web.loadhook加载的处理器(processor)

def session_hook():
web.ctx.session = session

app.add_processor(web.loadhook(session_hook))

.. 在子应用(假设是sub-app.py)中,可以这样操作session:

print web.ctx.session.test
web.ctx.session.foo = 'bar'

但是在bae中无法使用add_processor方法,想问下大家如何解决的?
3582 次点击
所在节点    Python
2 条回复
Bviews
2013-09-08 21:23:51 +08:00
web.py的session默认是写到文件的,bae代码仓库好像是不支持写文件,改成写到mysql里?

好久没看web.py了,不知道是不是这个问题。
fiinnay
2013-09-08 21:55:49 +08:00
@Bviews hi,这是官方的demo,在bae中可以使用memcached作为存储,但是官方文档说没法在子模块里面获得到session,所以加了一个hook,但是bae里面不能有add_processor方法。。想使用session却不行。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/81777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX