目录结构:
初学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,不算重复吗?
先就提以上几个问题,谢谢各位!
不是导入那一行,只是导入你实例化的app对象
首先要说明,flask项目中不可能总是只有一个应用,你这里只有一个
app
应用。在__init__.py
中导入views
,models
等模块是为了方便同级文件或其他文件导入它们。例如你可能需要在views.py
中导入models
, 你只需要from app.models import ...
,如果你在这个flask项目中需要一个RESTful
服务,它和app
在同级,它需要app
中的一些模块的话,导入的时候只需要from app.models import ...
。实际上,即使不在
__init__.py
中导入,你在其他模块中调用时也是可以的。不算重复,因为
views.py
中要使用到app
这个实例对象。比如@app.route()
。