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()
相关推荐
阿正呀32 分钟前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
九转成圣39 分钟前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio43 分钟前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
2501_901200531 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
laowangpython1 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫1 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch1 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI1 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0011 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2341 小时前
f5 shape分析
开发语言·javascript·ecmascript