目录结构:
初学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,不算重复吗?
先就提以上几个问题,谢谢各位!
迷茫2017-04-18 09:36:03
해당 줄을 가져오는 것이 아니라 인스턴스화한 앱 개체를 가져오는 것입니다.
우선, 플라스크 프로젝트에 항상 하나의 애플리케이션만 있는 것은 불가능합니다. 여기서는 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()
.