python之 flask 框架(2)项目拆分的 执行逻辑

项目的结构图

app.py

python 复制代码
# 导入__init__.py   比较特殊
from APP import create_app

app = create_app()
if __name__ == '__main__':
    app.run(debug=True)


init.py

python 复制代码
# __inti__.py
# 初始化文件,创建Flask应用
from flask import Flask
from .views import blue


def create_app():
    app = Flask(__name__)
    app.register_blueprint(blueprint=blue)
    return app

views.py

python 复制代码
# views.py   路由 + 视图函数
from flask import Blueprint
from .models import *

# 蓝图
blue = Blueprint('view', __name__)


@blue.route('/')
def index():
    return 'Index114'

执行的逻辑:

app.py 执行,python 都是按顺序从上到下执行的

  1. from APP import create_app() 导入 init .py
    1. from flask import Flask 因Flask 是系统框架 ,不做深究
    2. from .views import blue 导入 views.py 文件
      1. from flask import Blueprint 因Flask 是系统框架 ,不做深究
      2. blue = Blueprint('view', name) 生命蓝图 程序运行之前 路由就声明好了
    3. def create_app(): 声明生成flask应用的 函数
  2. app = create_app() 生成app flask对象
  3. app.run()
相关推荐
YFLICKERH2 分钟前
【多进线程】python多进线程与通信
python
_extraordinary_29 分钟前
Java Spring配置
java·开发语言·spring
程序员爱钓鱼31 分钟前
Python编程实战 · 基础入门篇 | 第一个Python程序:Hello World
后端·python·编程语言
进击的大海贼1 小时前
QT-C++ 自定义加工统计通用模块
开发语言·c++·qt
Rhys..1 小时前
JS - npm init
开发语言·javascript·npm
newxtc1 小时前
【 广州产权交易所-注册安全分析报告-无验证方式导致安全隐患】
开发语言·人工智能·selenium·安全·yolo
兩尛1 小时前
java八股-操作系统
java·开发语言
wjs20241 小时前
SQL 日期处理指南
开发语言
川石课堂软件测试1 小时前
CSS中常用的几种定位。
开发语言·css·python·网络协议·http·html·pytest
友友马2 小时前
『 QT 』QT信号机制深度解析
开发语言·qt