V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fiinnay
V2EX  ›  Python

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

  •  
  •   fiinnay · 2013-09-08 20:50:45 +08:00 · 3535 次点击
    这是一个创建于 4077 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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方法,想问下大家如何解决的?
    2 条回复    1970-01-01 08:00:00 +08:00
    Bviews
        1
    Bviews  
       2013-09-08 21:23:51 +08:00
    web.py的session默认是写到文件的,bae代码仓库好像是不支持写文件,改成写到mysql里?

    好久没看web.py了,不知道是不是这个问题。
    fiinnay
        2
    fiinnay  
    OP
       2013-09-08 21:55:49 +08:00
    @Bviews hi,这是官方的demo,在bae中可以使用memcached作为存储,但是官方文档说没法在子模块里面获得到session,所以加了一个hook,但是bae里面不能有add_processor方法。。想使用session却不行。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3120 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:45 · PVG 21:45 · LAX 05:45 · JFK 08:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.