【发布时间】:2014-09-29 10:37:33
【问题描述】:
根据这个example我试图 创建使用会话的小 webapp。这行得通,但我认为会话有问题 它不起作用,因为在我的浏览器中,我总是在获取 /count 页面时看到 1,尽管它应该 每次我请求页面时都会增加。 另外,我尝试使用 DBStore 而不是 DiskStore,但得到了相同的结果。
你有任何猜测为什么会话不起作用? 也许我在请求/计数页面时总是得到新会话??
我使用 ubuntu 12.04、webpy 0.36、mod_wsgi 4.2 这是代码,apache config和error.log:
import web
import os
urls = (
'/count', 'count',
'/reset', 'reset'
)
web.config.debug = False
app = web.application(urls, globals(), autoreload=False)
curdir = os.path.dirname(__file__)
session = web.session.Session(app,
web.session.DiskStore(os.path.join(curdir,'sessions')),initializer = {'count': 0})
application = app.wsgifunc()
class count:
def GET(self):
session.count += 1
return str(session.count)
class reset:
def GET(self):
session.kill()
return ""
----apache 配置------
<VirtualHost *:8080>
DocumentRoot /var/www/webpy-app/documents
AddType text/html .py
<Directory /var/www/webpy-app/documents>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /var/www/webpy-app/code.py/
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
另外,我注意到 /session 中的会话文件不是在我请求 /count 页面时创建的,尽管它们应该是。
【问题讨论】:
标签: python apache mod-wsgi web.py