Python Flask和gunicorn,多个模块:循环导入-并非所有路径均可访问
我的问题类似于和,但我似乎无法使用他们的解决方案来解决它 我的烧瓶应用程序具有以下结构:Python Flask和gunicorn,多个模块:循环导入-并非所有路径均可访问,python,heroku,gunicorn,Python,Heroku,Gunicorn,我的问题类似于和,但我似乎无法使用他们的解决方案来解决它 我的烧瓶应用程序具有以下结构: appname/ run.py Procfile venv/ ... appname/ app.py views.py run.py: from appname import app app.run(debug=True) app.py: from flask import Flask app = Flask(__name__) @ap
appname/
run.py
Procfile
venv/
...
appname/
app.py
views.py
run.py:
from appname import app
app.run(debug=True)
app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "here"
程序文件:
web: gunicorn --pythonpath appname app:app
views.py:
from appname import app
from flask import render_template
@app.route('/there')
def there():
return "there"
以前,我在运行foreman start
时遇到了ERORR,但当我从app.py
中删除import appname.views
后,这些ERORR就消失了
现在,工头启动
运行应用程序,路线/
可访问,但/那里
不可访问。为什么会这样?我能够通过以下方式“绕过”这个问题:
run.py
app.py
虽然我不确定哪种Python风格更好,但我还是更愿意将路由保留在模块中。万岁!我已经能够让它与我真正想要的代码一起工作 应用程序结构(未更改): run.py(未更改): app.py:
from flask import Flask
app = Flask(__name__)
import appname.views
import appname.anothermodule
web: gunicorn appname:app
Procfile:
from flask import Flask
app = Flask(__name__)
import appname.views
import appname.anothermodule
web: gunicorn appname:app
views.py(未更改):
为什么
/
-路由不在视图.py
中?@msvalkon在我试图解决此问题时,它是独立的,因此我可以证明app.py中的路由是可访问的,而其他模块中的路由不是。@neurosnap我不确定它是否可访问。在开发时,我使用run.py启动应用程序,使用python run.py
,但是……没错,因为我从来没有真正指向run.py,这就是为什么我很好奇,多亏了你的解决方案,我最终解决了我的问题!谢谢!
from appname import app
@app.route('/')
def home():
return "Hello, awesomeness!"