У меня была странная проблема с вишневым. Когда я быстро запускаю приложение:
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 передается словарь параметров, содержащий 'redirect' и '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)
Я что-то упускаю здесь очевидное? Почему работает первая версия, а не вторая?
Спасибо