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

[python][flask]flask蓝图使用方法

在 Flask 中,蓝图(Blueprint)是一种用于组织和管理代码的机制,可以将应用分解为多个模块,每个模块专注于特定的功能。以下是使用蓝图的基本步骤和方法:

1. 创建蓝图

首先,需要创建一个蓝图对象。蓝图对象需要两个参数:nameimport_name

from flask import Blueprint# 创建蓝图对象
my_blueprint = Blueprint('my_blueprint', __name__)

 

2. 定义蓝图中的路由和视图函数

在蓝图中,可以使用 @blueprint.route() 装饰器定义路由

@my_blueprint.route('/')
def index():return 'Hello from the blueprint!'

 

3. 注册蓝图到应用

创建好蓝图后,需要将其注册到 Flask 应用中

from flask import Flask
app = Flask(__name__)
# 注册蓝图
app.register_blueprint(my_blueprint)

 

4. 使用蓝图中的模板和静态文件

如果蓝图中包含模板和静态文件,可以在创建蓝图时指定模板文件夹和静态文件夹。

my_blueprint = Blueprint('my_blueprint', __name__,template_folder='templates', static_folder='static')

 

然后在视图函数中使用 render_template 渲染模板

@my_blueprint.route('/')
def index():return render_template('index.html')

 

5. 蓝图的高级用法

  • 蓝图之间的通信:可以通过 Flask 的 session 对象在蓝图之间共享数据

  • 蓝图级别的中间件:可以在蓝图级别应用中间件,例如检查请求是否安全

  • 蓝图的权限控制:可以在蓝图中实现权限控制逻辑,限制用户对特定功能的访问

示例项目结构

以下是一个典型的 Flask 项目结构,使用蓝图来组织代码

project/
│
├── app.py
├── auth/
│   ├── __init__.py
│   ├── auth.py
│   ├── templates/
│   └── static/
├── blog/
│   ├── __init__.py
│   ├── blog.py
│   ├── templates/
│   └── static/
└── templates/

其中,authblog 是两个蓝图模块,分别处理用户认证和博客功能。

总结

使用蓝图可以将 Flask 应用划分为多个模块,每个模块专注于特定的功能,从而提高代码的可维护性和可扩展性。通过合理使用蓝图,可以更好地组织和管理大型 Flask 应用

http://www.lryc.cn/news/599528.html

相关文章:

  • [python][flask]flask中session管理
  • 从 “能打” 到 “顶尖”:DeepSeek-V3 后训练拆解,微调 + 强化学习如何让大模型脱胎换骨?
  • 【js】Proxy学习笔记
  • spring boot项目使用Spring Security加密
  • HTML 常用标签速查表
  • 【STM32】FreeRTOS任务的挂起与解挂(四)
  • ServletRegistrationBean相关知识点
  • IIC协议详解与项目注意事项
  • Ant Design 结合 React 参考 Vben 逻辑实现的描述列表组件封装实践
  • C#模拟pacs系统接收并解析影像设备数据(DICOM文件解析)
  • 【unitrix】 6.16 非负整数类型( TUnsigned )特质(t_unsingned.rs)
  • Docker镜像导入解析:docker import vs docker load
  • 2025最新蜘蛛池在百度SEO中的应用
  • vue2+node+express+MongoDB项目安装启动启动
  • ELK Stack技术栈
  • 前端基础知识Vue系列 - 27(Vue项目中如何解决跨域)
  • 养老服务行业怎么解决采购管理难题?
  • 配置Mac/Linux终端启动执行脚本
  • 数据赋能(332)——安全与合规——保密管理
  • 代码随想录day45dp12
  • 读书笔记8:供应链思维下的企业战略与数字生态
  • OpenCV(04)梯度处理,边缘检测,绘制轮廓,凸包特征检测,轮廓特征查找
  • MCP协议详细教程
  • The Magic Mask for Android:解锁无限可能的安卓自定义套件
  • 【面试场景题】外卖点餐系统设计思路
  • [MMU]四级页表查找(table walk)的流程
  • SQL性能优化
  • 【LeetCode Solutions】LeetCode 热题 100 题解(16 ~ 20)
  • 系统编程——文件IO
  • SpringBoot整合Fastexcel/EasyExcel导出Excel导出多个图片