【问题标题】:How do you assign a wsgi app to the root of cherrypy via the config file?如何通过配置文件将 wsgi 应用程序分配给cherrypy 的根目录?
【发布时间】:2011-01-21 22:44:17
【问题描述】:

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

【问题讨论】:

    标签: tree config wsgi cherrypy


    【解决方案1】:

    老实说,我认为我们只是没有考虑过这个用例;它旨在传递整个应用程序实例,而不是 WSGI 应用程序的字典。您应该能够将cherrypy.config.namespaces['tree'] 替换为一个处理程序,该处理程序可以很容易地获取您的dict,直到我们解决这个问题。给我一张票,我看看能不能进入 3.2 决赛。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 2012-10-29
      相关资源
      最近更新 更多