烧瓶蓝图分享

时间:2016-12-26 18:35:10

标签: flask blueprint

我想用Flask创建一个API,它还需要一个管理面板。 我想蓝图是可行的方法,但我不想两次制作模型。

我的结构将是这样的:

- app - api - admin - models

所以我的问题是:如何访问models蓝图和api蓝图中的admin文件夹中的模型?

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果您在apiadmin文件夹中的模块中,则可以使用此表示法从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