我正试图在有乘客的服务器上运行烧瓶。这是我的passenger_wsgi.py文件:
import sys, os
INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python')
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from wtf import app as application
# Uncomment next two lines to enable debugging
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(application, evalex=True)
wtf文件夹下有一个app.py文件。那里还有__init__.py
,因此python将其识别为模块目录。但它给了我这个错误:
Traceback (most recent call last)
File "/home/hiepha19/flask_env/lib/python2.6/site-packages/werkzeug/debug/__init__.py", line 88, in debug_application
app_iter = self.app(environ, start_response)
TypeError: 'module' object is not callable
答案 0 :(得分:10)
导入app
时,您要导入app
模块(其中很可能有一个app
名称,该模块指向您的Flask应用。您要做的是导入< em>那个名称并注册它:
from wtf.app import app as application
# Note the extra app
值得注意的是,您不需要手动执行此操作 - 只需使用应用程序上的run
方法运行Flask并传递参数debug=True
即可获得相同的行为:
from wtf.app import app
if __name__ == '__main__':
app.run(debug=True)