2010-02-28 37 views
3

如何通過配置文件將wsgi應用程序分配給cherrypy的根?我想請求「http://localhost:8080/」路由到我自己的wsgiapp。我使用cherryd如下開始與一個配置文件的CherryPy服務器:如何通過配置文件將wsgi應用分配給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' 

回答

3

老實說,我想我們剛剛沒有考慮這個用例;它旨在傳遞整個應用程序實例,而不是WSGI應用程序的字典。您應該能夠用一個處理程序替換cherrypy.config.namespaces['tree'],該處理程序可以非常輕鬆地處理您的字典,直到我們解決這個問題。給我一張票,我會看看我們是否能夠進入3.2決賽。

+0

好的,提交,謝謝! (http://www.cherrypy.org/ticket/989) – 2010-02-28 15:37:20

相關問題