从父目录导入Flask应用

洛丁塔尔

我有一个结构如下的应用程序:

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')

初始化的名称文件夹的.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错误。

菲利普·邹

这是我对应用程序所做的:

__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代理。阅读本文以了解机制。

另外,建议显式使用相对导入(带有额外的点“ .”)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章