3

如何通过配置文件将 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'
4

1 回答 1

3

老实说,我认为我们只是没有考虑过这个用例。它旨在传递整个应用程序实例,而不是 WSGI 应用程序的字典。cherrypy.config.namespaces['tree']在我们修复此问题之前,您应该能够用一个很容易接受您的 dict 的处理程序替换。给我一张票,我看看能不能进入 3.2 决赛。

于 2010-02-28T05:21:04.507 回答