我想用Flask创建一个API,它还需要一个管理面板。 我想蓝图是可行的方法,但我不想两次制作模型。
我的结构将是这样的:
- app
- api
- admin
- models
所以我的问题是:如何访问models
蓝图和api
蓝图中的admin
文件夹中的模型?
提前致谢。
答案 0 :(得分:0)
如果您在api
或admin
文件夹中的模块中,则可以使用此表示法从models
文件夹中的模块导入任何内容
from ..models.module_name import model1, model2, etc
对于小项目,我通常将所有模型保存在一个models.py文件中,如:
[app]
[blueprint_1]
__init__.py
views.py
[blueprint_2]
[static]
[templates]
__init__.py
models.py
然后在任何蓝图文件中:
from ..models import model1, model2, etc
答案 1 :(得分:0)
关于导入,如果你的目录包含__init__.py
,那么它是一个python包,.
用于当前目录。例如:
auth/
__init__.py
forms.py
views.py
#views.py
from forms import Form name
from . import auth_blueprint # imports from __init__.py
因此,如果您要从其他目录导入,必须使用..
从__init__.py
文件导入,请说明您的模型目录包含以下文件:
models/
__init__.py
UserModel.py
现在让我们为auth模块导入模型:
#auth/views.py
from .. import models # import froms models/__init__.py
from ..models import UserModel