我一直在cherrypy有一个奇怪的问题。当我快速启动应用程序时:使用apache时Cherrypy无法找到选项?
cherrypy.quickstart(WebApps(), '/dev/apps/', 'settings.config')
一切工作正常。但是,当我尝试通过Apache mod_wsgi加载我的应用程序时,似乎没有选项文件的默认选项传递给我创建的工具。
我基本上有一个简单的工具:
@cherrypy.expose
@cherrypy.tools.checkStatus()
def doSomething(self,*args, **kwargs):
#process the page here
...
def checkStatus(**kwargs):
#handle stuff here
和一个非常简单的settings.config文件:
[global]
tools.checkStatus.redirect = 'http://localhost/dev/MyRedirectPage.html'
tools.checkStatus.returnAfterRedirect = True
如上所述,当我从快速启动功能运行的checkStatus传递一个参数字典,包含'重定向'和'returnAfterRedirect'。
每当应用程序从mod_wsgi启动时,代码就会运行,但没有参数传递给kwargs。
def application(environ, start_response):
app = cherrypy.tree.mount(WebApps(),
'/dev/apps/',
os.path.join(currentPath,'settings.config'))
return app(environ, start_response)
我在这里错过了一些明显的东西吗?为什么第一个版本工作,而不是第二个版本?
感谢
我手动调用cherrypy.config.update与设置文件,AS和AS作为参数传递设置文件在tree.mount中。这似乎是诀窍。如果要访问全局变量和应用程序/特定设置,则必须同时执行这两个操作。谢谢 – 2011-02-08 22:15:48