我已将使用flask和python2.7运行的应用程序从独立解决方案更改为带有apache和mod_wsgi的烧瓶 .
我的Flask应用程序(app.py)包含一些类,这些类位于我的app dir(../)下面的目录中 .
这是我的app.wsgi:
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.stdout = sys.stderr
project_home = '/opt/appdir/Application/myapp'
project_web = '/opt/appdir/Application/myapp/web'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
if project_web not in sys.path:
sys.path = [project_web] + sys.path
from app import app
application = app
在配置到mod_wsgi之前,我在app.py中的主要调用看起来像这样:
# Main
if __name__ == '__main__' :
from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
from logger import Logger
from main import Main
from configReader import ConfigReader
print "Calling flask"
from threadhandler import ThreadHandler
ca = ConfigReader()
app.run(host="0.0.0.0", threaded=True)
我完全能够在下面的目录中加载我的类 . 使用mod_wsgi运行应用程序后,我收到以下错误:未定义全局名称'Main '
那么我如何更改我的应用程序,这将在这里工作:
@app.route("/")
def test():
main = Main("test")
return main.responseMessage()
谢谢你的回复 .
最好的问候Joern
1 回答
谢谢你回复我的要求 . 没有mod_wsgi的主函数调用是正确的答案 . 我没有在wsgi文件中实现我所需的模块,而是在烧瓶应用程序之上 . 这件作品对我来说很好;)
谢谢你们,祝大家新年快乐 .
祝你好