>  Q&A  >  본문

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일 전406

모든 응답(1)나는 대답할 것이다

  • 迷茫

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

    1. 해당 줄을 가져오는 것이 아니라 인스턴스화한 앱 개체를 가져오는 것입니다.

    2. 우선, 플라스크 프로젝트에 항상 하나의 애플리케이션만 있는 것은 불가능합니다. 여기서는 app 애플리케이션이 하나만 있습니다. __init__.py, views 및 기타 모듈을 models에 가져오는 것은 동일한 레벨의 파일이나 다른 파일을 쉽게 가져올 수 있도록 하기 위한 것입니다. 예를 들어 views.py에서 models을 가져와야 할 수 있으며 from app.models import ...만 필요합니다. 이 플라스크 프로젝트에서 RESTful 서비스가 필요한 경우 app과 동일한 수준이며 필요합니다. app에 있으려면 일부 모듈의 경우 가져올 때 from app.models import ...만 필요합니다.
      사실 __init__.py에서 import하지 않더라도 다른 모듈에서 호출할 수 있습니다.

    3. views.py 인스턴스 객체가 app에서 사용되므로 중복으로 간주되지 않습니다. 예를 들어 @app.route().

    회신하다
    0
  • 취소회신하다