当前位置: 首页 > news >正文

Flask使用Blueprint注册管理路由

在 Flask 中,可以使用 蓝图(Blueprint) 来组织和注册路由,从而让代码更加模块化和易于维护。以下是完整的使用方法:


1. 创建 Flask 项目结构

建议的项目目录结构如下:

my_flask_app/
│── app.py              # 入口文件
│── blueprints/
│   ├── __init__.py     # 蓝图初始化
│   ├── user.py         # 用户相关的蓝图
│   ├── auth.py         # 认证相关的蓝图
└── templates/          # 模板文件夹(如果有)

2. 定义蓝图(Blueprint)

blueprints/user.py(用户相关蓝图)

from flask import Blueprint, jsonify# 创建蓝图
user_bp = Blueprint('user', __name__, url_prefix='/user')@user_bp.route('/info')
def user_info():return jsonify({"message": "User info API"})@user_bp.route('/profile')
def user_profile():return jsonify({"message": "User profile API"})

blueprints/auth.py(认证相关蓝图)

from flask import Blueprint, jsonifyauth_bp = Blueprint('auth', __name__, url_prefix='/auth')@auth_bp.route('/login', methods=['POST'])
def login():return jsonify({"message": "Login API"})@auth_bp.route('/logout', methods=['GET'])
def logout():return jsonify({"message": "Logout API"})

3. 在 __init__.py 中初始化蓝图

blueprints/__init__.py
from flask import Flask# 导入蓝图
from .user import user_bp
from .auth import auth_bpdef create_app():app = Flask(__name__)# 注册蓝图app.register_blueprint(user_bp)app.register_blueprint(auth_bp)return app

4. 在 app.py 中运行 Flask 应用

from blueprints import create_appapp = create_app()if __name__ == '__main__':app.run(debug=True)

5. 运行 Flask 并访问接口

启动 Flask:

python app.py

访问:

  • http://127.0.0.1:5000/user/info -> 返回 { "message": "User info API" }
  • http://127.0.0.1:5000/auth/login -> 返回 { "message": "Login API" }

这样,使用 蓝图 可以将不同功能模块拆分到不同的文件,便于管理和维护!🚀


http://www.mrgr.cn/news/94703.html

相关文章:

  • 用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏
  • HarmonyOS NEXT开发实战——HUAWEI DevEco Studio 开发指南
  • 【NLP】10. 机器学习模型性能评估指标(含多类别情况), ROC,PRC
  • vue 知识点整理
  • 蓝桥杯 阶乘约数
  • 深度解析前端面试八股文:核心知识点与高效应对策略
  • 【C++基础十】泛型编程(模板初阶)
  • C++ 返回值优化(Return Value Optimization)
  • 用通义大模型写爬虫程序,汇总各科成绩
  • 2024浙江大学计算机考研上机真题
  • 汽车感性负载-智能高边钳位能量计算
  • [特殊字符]Windows 11 安装 Git 图文教程(含详细配置说明)
  • [Java实战]Spring Boot服务CPU 100%问题排查:从定位到解决
  • MarkDown 输出表格的方法
  • vue-常用指令 | 常用指令的修饰符
  • Qt程序基于共享内存读写CodeSys的变量
  • Python库安装报错解决思路以及机器学习环境配置详细方案
  • 大模型-提示词调优
  • [leetcode] 面试经典 150 题——篇3:滑动窗口
  • 虚幻基础:移动组件