如何通过配置文件将wsgi应用程序分配给cherrypy的根目录?我希望请求“http://localhost:8080/”路由到我自己的wsgiapp。我正在使用cherryd来启动带有配置文件的cherrypy服务器,如下所示:
这是调用:
cherryd --config config.cfg --import myapp
这是config.cfg文件:
[global]
server.socket_host: "127.0.0.1"
server.socket_port: 8080
tree.apps: { "/" : myapp.wsgiapp }
这是myapp.py模块:
def wsgiapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World']
以下是错误消息:
File "/Users/samwan/Documents/myproject/virtual_environment/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cpconfig.py", line 331, in _tree_namespace_handler
cherrypy.tree.graft(v, v.script_name)
AttributeError: 'dict' object has no attribute 'script_name'
答案 0 :(得分:3)
老实说,我认为我们没有考虑过这个用例;它旨在传递整个Application实例,而不是WSGI应用程序的字典。你应该能够用一个很容易接受你的dict的处理程序替换cherrypy.config.namespaces['tree']
,直到我们修复它为止。给我一张票,我会看看我们是否可以进入3.2决赛。