复杂的Python Bottle App + WSGI

时间:2015-06-13 06:06:39

标签: python mod-wsgi bottle

我在单个文件夹中有一个python bottle应用程序,它是按功能组织的,我想将现有的cherrypy用法转换为apache mod_wsgi。

文件夹结构如下所示:

- project
-- app.py (loads the webserver class and runs it)
-- app
--- common
--- logs
--- modules
--- tools
--- web
---- webserver.py

这种结构的原因是因此可以在工具和Web中使用来自公共的代码而没有任何问题。进口都是以app.common.blah导入实用程序"的方式完成的。在尝试设置mod_wsgi时,它希望加载一个简单的应用程序。

是否可以使用这样的文件夹结构运行mod_wsgi?如果没有,是否有任何关于设置允许mod_wsgi的结构的建议,还有在工具和网络等文件夹之间共享公共实用程序的建议吗?

1 个答案:

答案 0 :(得分:0)

来自Bottle deployment docs on Deployment

  

您需要的只是一个提供应用程序对象的app.wsgi文件。 mod_wsgi使用此对象来启动应用程序,并且应该是与WSGI兼容的Python可调用对象。

     

档案/var/www/yourapp/app.wsgi

import os
# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))

import bottle
# ... build or import your bottle application here ...
# Do NOT use bottle.run() with mod_wsgi
application = bottle.default_app()

在您的情况下,请编辑上面的代码段以导入可能在app.py

中定义的应用程序对象