目录结构:
初学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
애플리케이션이 하나만 있습니다.__init__.py
,views
및 기타 모듈을models
에 가져오는 것은 동일한 레벨의 파일이나 다른 파일을 쉽게 가져올 수 있도록 하기 위한 것입니다. 예를 들어views.py
에서models
을 가져와야 할 수 있으며from app.models import ...
만 필요합니다. 이 플라스크 프로젝트에서RESTful
서비스가 필요한 경우app
과 동일한 수준이며 필요합니다.app
에 있으려면 일부 모듈의 경우 가져올 때from app.models import ...
만 필요합니다.사실
__init__.py
에서 import하지 않더라도 다른 모듈에서 호출할 수 있습니다.은
views.py
인스턴스 객체가app
에서 사용되므로 중복으로 간주되지 않습니다. 예를 들어@app.route()
.