首页  >  问答  >  正文

python - 求解flask各模块是怎么运行的?


目录结构:

初学python/flask,正练习入门小项目,按教程成功运行的程序,可对几个文件相互import给绕晕了,请各位能帮忙理一理思路,感激不尽!

1、manage.py 中的 from app import app,这是导入了app/__init__.py中的app=Flask(__name__)这一行吗?

2、__init__.py 中的from app import viers,models是在什么时候执行的?

3、views.py中,怎么还有from app import app,不算重复吗?

先就提以上几个问题,谢谢各位!

高洛峰高洛峰2765 天前410

全部回复(1)我来回复

  • 迷茫

    迷茫2017-04-18 09:36:03

    1. 不是导入那一行,只是导入你实例化的app对象

    2. 首先要说明,flask项目中不可能总是只有一个应用,你这里只有一个app应用。在__init__.py中导入views,models等模块是为了方便同级文件或其他文件导入它们。例如你可能需要在views.py中导入models, 你只需要from app.models import ...,如果你在这个flask项目中需要一个RESTful服务,它和app在同级,它需要app中的一些模块的话,导入的时候只需要from app.models import ...
      实际上,即使不在__init__.py中导入,你在其他模块中调用时也是可以的。app应用。在__init__.py中导入views,models等模块是为了方便同级文件或其他文件导入它们。例如你可能需要在views.py中导入models, 你只需要from app.models import ...,如果你在这个flask项目中需要一个RESTful服务,它和app在同级,它需要app中的一些模块的话,导入的时候只需要from app.models import ...
      实际上,即使不在__init__.py中导入,你在其他模块中调用时也是可以的。

    3. 不算重复,因为views.py中要使用到app这个实例对象。比如@app.route()

    不算重复,因为views.py中要使用到app这个实例对象。比如@app.route()。🎜🎜 🎜

    回复
    0
  • 取消回复