我的应用程序结构如下:
name
-app.py
-__init__.py
-folder1
-views.py
-models.py
-__init__.py
我app.py的内容:
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
if __name__ == '__main__':
app.run('0.0.0.0')
名称文件夹中的 init .py为:
from app import app
如何将此应用导入views.py?目前,我正在使用
from name import app
from models import Class1
app.add_url_rule('/', view_func=Class1.as_view('class1'))
,但是当我运行应用程序时,它会返回404错误。
答案 0 :(得分:3)
这就是我对我的应用所做的:
在__init__.py
:
from .app import app
with app.app_context():
from .folder1 import models, views # noqa
在folder1/views.py
:
from flask import current_app as app
# then use `app` as usual
from .models import Class1
app.add_url_rule('/', view_func=Class1.as_view('class1'))
" app_context()
"将当前app
对象注入current_app
代理。阅读this以了解机制。
同样it is recommended明确使用相对导入(带有额外的点" .
")。