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 アプリの辞書ではなく、Application インスタンス全体を渡すように設計されています。cherrypy.config.namespaces['tree']これが修正されるまで、dict を非常に簡単に取得するハンドラーに置き換えることができるはずです。私にチケットを作ってください。3.2 ファイナルに進むことができるかどうか見てみましょう。

于 2010-02-28T05:21:04.507 に答える