Flask Blueprint 蓝图的用法

什么是 Flask 的蓝图(Blueprint) Flask 的蓝图(Blueprint)是一种模块化工具,允许开发者将应用程序的路由、视图和其他逻辑分成独立的模块。这对于组织大型 Flask 项目非常有用,使代码更清晰、可维护,并促进团队协作。蓝图在大型项目中几乎是不可或缺的工具,有助于让代码更加整洁高效!两个模块可以独立开发,并在主应用中轻松注册和管理。 阅读详情
        蓝图 Blueprint 是flax的子集,它可以有独立的templates、static等。而模块独立可以使整个工程变得清晰易读,也避免文件之间循环引用的问题

Blueprint使用:

1.首先在子文件夹init文件中定义蓝图,比如/main/__init__.py中

from flask import Blueprint
main = Blueprint('main', __name__, url_prefix='/main/api/v0.1')
from . import views

==========================================================
#可以加参数,指定static、templates、url_prefix等
#main=Blueprint('main',__name__, url_prefix='/main/api/v0.1', template_folder='templates', static_folder='static')
#蓝图为 /main 把静态文件夹注册到 /main/static
#蓝图想要渲染'index.html'模板,且已经提供了 templates 作为 template_folder, 
    需要这样创建文件: /main/templates/main/index.html

2.在/main/views.py中

from . import main

@main.route('/test')
def hello():
return 'hello world!'

3.在app的入口中注册蓝图,比如runserver.py中:

from flask import Flask
app = Flask(__name__)

from main import main as main_app

app.register_blueprint(main_app)

if __name__ == '__main__':
#可以查看 URL 映射
#print app.url_map
app.run(host='0.0.0.0')

4.访问localhost:5000/main/api/v0.1/test, 即可返回 hello world!


当你想要从一个页面链接到另一个页面,你可以像通常一个样使用 url_for() 函数,

    只是你要在 URL 的末端加上蓝图的名称和一个点(.)作为前缀:

        url_for('admin.index')
Flask的Blueprint(蓝图) 一个Flask项目可以包含多个Blueprint,每个蓝图对应独立的功能模块(如用户管理、文章管理)。例如,用户认证、文章管理等功能可分别封装到不同蓝图中,提升代码组织性。Flask的Blueprint(蓝图)是一种模块化设计工具,能够将复杂应用拆分为独立的功能模块,类似于Django的子应用管理。同一蓝图可多次注册到不同URL路径,实现代码复用。例如,一个API蓝图可同时绑定到。例如,用户模块的模板可存放在。:在注册蓝图时,可通过。参数实现子域名路由(如。),适用于多站点场景。路径,支持多版本接口。 阅读详情

相关推荐

Flask-Blueprint (蓝图)

Flask-Blueprint (蓝图) 什么是蓝图 在Flask项目中可以用Blueprint(蓝图)实现模块化的应用,使用蓝图可以让应用层次更清晰,开发者更容易去维护和开发项目。蓝图将作用于相同的URL前缀的请求地址,将具有相同前缀的请求都放在一个模块中,这样查找问题,一看路由就很快的可以找到对应的视图,并解决问题了。 程序结构可以变为 application users模块 vote模块...

黄雄进 412

flask之蓝图Blueprint

flask之蓝图Blueprint

晴天的博客 5460

Python Flask实现蓝图Blueprint配置和模块渲染

蓝图(Blueprint)是Flask实现的应用模块化,通过模块化的方式分割视图,让应用的层次更加清晰,更加便于开发者开发和维护项目。通过蓝图,我们可以创建一组相同前缀的路由组合,可以用于分割应用不同的服务。如应用有两个服务:认证服务和用户服务,我们可以通过模块化分割服务,然后通过Flask注册不同前缀的蓝图。

胖蔡叨叨叨 1789

flask-11蓝图blueprint

目录 一、为什么用蓝图? 二、蓝图的概念 三、简单示例 1、新增apps包 2、apps下新增包user、order、goods 3、在包user下创建view.py 4、修改apps下__init__创建一个flask得app函数 5、改造app.py 6、启动服务 ​ 四、改造简单示例 1、templates下新建user文件夹 2、user下新建resgister.html show.html login.html 3、templates下新建base.html...

春天的波菜 3399

别再为3D抓取发愁了!Halcon手眼标定保姆级教程(Eye-to-Hand模式,含完整代码)

本文提供Halcon手眼标定的保姆级教程,详细讲解Eye-to-Hand模式下的3D抓取实现方法。从硬件配置、坐标系系统到标定流程和核心算法,涵盖完整代码和实战经验,帮助用户快速掌握工业自动化中的精准抓取技术。

weixin_42523711的博客 270

LSCM最小二乘保角参数化

LSCM最小二乘保角参数化 最小二乘思想 已知一组点的数据(x,y) x x1x_1x1​ x2x_2x2​ x3x_3x3​ … xnx_nxn​ y y1y_1y1​ y2y_2y2​ y3y_3y3​ … yny_nyn​ 可以近似为线性关系 y=ax+by=ax+by=ax+b ,目标为确定常数 aaa , bbb ; 解法:找到 aaa , bbb ,使得所有 yiy_iyi​ 与 axi+bax_i+baxi​+b 偏差的平方和 Q=∑i=1n(yi−axi−b)2 Q=\s

weixin_49732532的博客 4254

flask web 框架——蓝图(Blueprint)

文章目录一、蓝图(Blueprint)的概念二、蓝图的使用三、嵌套蓝图四、蓝图资源4.1 蓝图资源文件夹4.2 静态文件4.3 模板五、创建 URL六、蓝图错误处理器 一、蓝图(Blueprint)的概念 在小型项目中,我们可以将代码写在一个文件中,但是到了中大型项目中,这么做就不合适了。所以,我们需要将代码分成多个模块或者包,然后导入使用。但这么做很容易导致循环导入问题,所以,Flask 引入了**蓝图(Blueprint)**的概念。 蓝图是一种组织项目中文件或代码的方式。与把视图和其他代码直接注册到a

花城的博客 6142

MT5策略如何设置回测结果才能最接近实盘

摘要:在MT5回测中,选择"每笔分笔报价"模式最接近实盘交易,因其使用真实Tick数据模拟价格波动、点差和滑点。关键设置包括:下载高质量历史数据、合理设定点差和滑点、使用正常回测速度。该模式能准确测试挂单、止盈止损等策略,虽然速度较慢但结果最可靠,避免其他模式造成的失真,是评估交易策略表现的最佳选择。(149字)

weixin_38915451的博客 1879

flask 蓝图 Blueprint

当执行app.register_blueprint()注册蓝图时,app应用实例对象会将从蓝图对象的 deferred_functions列表中循环取出每一个之前注册的路由项,并把app应用实例对象自己作为参数执行路由项对应的lambda匿名函数,lambda匿名函数执行以后就会调用app.add_url_rule() 方法,这就将蓝图下子路由列表之前暂存的路由全部添加到了app应用实例对象的url_map总路由表中了,所以用户就可以在flask中访问到了蓝图中的视图。

blank_memory_的博客 795

Innovus快捷键大全:从入门到精通的效率提升指南

本文是Innovus快捷键从入门到精通的效率提升指南,旨在帮助芯片后端设计工程师通过掌握核心快捷键,将重复性鼠标操作转化为高效的肌肉记忆,从而显著提升版图设计、编辑和分析的工作流速度。文章系统讲解了视图导航、对象选择编辑、流程管理等关键快捷键组合,并提供了个性化配置与实战策略,助力工程师突破效率瓶颈,实现人机合一的流畅设计体验。

silver的专栏 797

目标检测: 一文读懂 YOLOX

论文:YOLOX: Exceeding YOLO Series in 2021 论文链接:https://arxiv.org/pdf/2107.08430.pdf 代码链接:https://github.com/Megvii-BaseDetection/YOLOX. 文章目录1 为什么提出YOLOX2 YOLOX 网络架构3 YOLOX 实施细节3.1 backbone3.2 neck3.3 Head3.3.1 Decoupled Head3.3.2 Anchor-free3.4 如何计算Loss3.5 如

weixin_46142822的博客 3万+

Flask 蓝图 Blueprint

为什么需要蓝图? 我们在使用Flask框架,是从写单个文件,执行hello world开始的。我们在这单个文件中可以定义路由、视图函数、定义模型等等。但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。 如下示例:我们在一个文件中写入多个路由,这会使代码维护变得困难。 from flask ...

DevOps海洋的渔夫@专栏 950

基于STM32、HAL库的BMP585 气压传感器 驱动程序设计

define BMP585_I2C_ADDR_PRIMARY 0x76 << 1 /* 0x76地址左移一位 */#define BMP585_I2C_ADDR_SECONDARY 0x77 << 1 /* 0x77地址左移一位 *//* I2C句柄 *//* I2C地址 *//* 设置新的温度过采样率 *//* 设置新的滤波器系数 *//* 芯片ID *//* 清除温度过采样位 *//* 转换为hPa *//* 设置新的压力过采样率 *//* 设置新的电源模式 *//* 清除压力过采样位 */

corlin6688的博客 461

Flask 中的蓝图 Blueprint

Flask 中的蓝图 Blueprint 在实际的项目开发中,需要实现的功能是很多的,通常来说一个功能至少需要一个视图函数,代码量比较大。 如果将所有视图函数都写在同一个 py 文件中,功能没有问题,但是在维护时非常不方便,没有哪个项目会采用这种方式来写代码。 通常,会根据不同的功能模块,将视图函数写在不同的 py 文件中,这就需要使用到 Flask 中的蓝图Blueprint 。 一...

weixin_43790276的博客 1239

基于MATLAB的多无人机多任务调度算法——CBBA带时间窗

本文将介绍基于MATLAB的CBBA算法,并对其进行改进,加入时间窗概念,以提高多无人机系统的调度效率和性能。时间窗用于限定任务的执行时间范围,以避免任务执行时间过长或过短导致的问题。具体而言,我们为每个任务设置一个允许的最早开始时间和最晚结束时间,并在任务分配的过程中考虑这些时间约束。在多无人机系统中,需要将若干个任务分配给不同的无人机完成,以实现高效的任务执行。以上是关于基于MATLAB的多无人机多任务调度算法CBBA带时间窗的简要介绍和源代码实现。多无人机系统的调度问题。

BUG?不存在的! 1898

【unity游戏开发入门到精通——UGUI】UI控件 —— Toggle开关切换控件

【unity游戏开发入门到精通——UGUI】UI控件 —— Toggle开关切换控件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1845

【flask】Blueprint蓝图

目录 一、蓝图的作用 二、蓝图的基本使用: 三、注意事项 一、蓝图的作用 分层隔离(解耦):避免与项目同名的py文件里面有过多的指定不同内容的app.rout()会堆叠在同此文件。假设是文件处理系统里面,有用户详情页和书本详情页都堆放与项目同名的py文件里面,加上一些实现的函数,不便于管理,。 更加模块化:把某一模块的内容放到指定的蓝图可以更加清晰明了。例如,用了蓝图以后users会在...

雀黑够呛哥 379

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Flask开发之蓝图Blueprint

前言:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。

等待着冬天的风的博客 444

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python flask 蓝图(Blueprint)详解

Blueprint 模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,针对一个简单的flask程序进行模块化处理 举例来说: 我们在一个py文件中写入了很多路由, from flask import Flask app=Flask(__name__) @app.route('/') def inde...

mihaoyun.com的专栏 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

flask Blueprint蓝图

首先要了解蓝图的作用,模拟场景在团队开发过程中团队每个人都在写自己负责的功能模块,那多个py文件模板,我们如果完成后需要运行是不是要运行多个服务?但是我们的项目是一个整体,而不是零散的,所以我们怎么把很多py文件用一个run()启动呢,也就是怎么把他们构造在一起直接启动整体呢。其实并不难以前我们是不是也接触过类似的比如 Flask里的网页模板(render_template)中的继承(B...

T525174893的博客 128

flask之Blueprint蓝图

flask_Blueprint.py 1 ''' 2 flask中的Blueprint蓝图: 3 (1)新建模块,例如Bp1.py,Bp2.py,在模块中创建蓝图实例 4 (2)通过app.register_blueprint()对蓝图对象进行注册 5 (3)如果在蓝图中设置了参数url_prefix就必须在请求的端口后路径前加上 ...

diaolouan9546的博客 120

Flask之Blueprint蓝图(使用蓝图的好处、蓝图的定义、如果使用蓝图、蓝图参数、执行优先级)

蓝图(Blueprint) 蓝图是一个对象,它允许定义应用程序功能而无需提前使用应用程序对象。它的使用与:class:〜flask.Flask修饰符类似,但通过记录它,可以在以后注册时,满足应用程序的需求。 1.蓝图参数: from ...

我愿做一个聆听者,以学习为伴! 1456

05 Flask蓝图Blueprint

在进行项目开发的过程中,如果我们把所有的视图函数都写在一个app.py主程序中,非常的不利于后期的维护和管理,我们需要将不同的app分配不同的处理功能,然后共同在组成一个完整的项目。 蓝图(Blueprint)就相当于一个一个的热拔插模块,Blueprint 是一个存储视图方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask可以通过Blueprint来组织URL以及处理请求。 蓝图Blueprint的生成和注册 新建flask项目并创建对应文件夹 首先我们新建一个.

小楼一夜听春雨 353

flask-蓝图(Blueprint)

flask-蓝图(Blueprint) flask蓝图的设计可以实现django类似的创建app的功能,蓝图可以让flask的项目更模块化,结构更加清晰,可以将相关的视图函数和配置放在同一个目录下,方便管理。 主文件 from flask import Flask from user.views import user_app import sys impor...

weixin_38170137的博客 204

flask blueprint蓝图简单的搭建

1.整体目录结构如下: 2.在cars模块中的__init__.py文件中创建蓝图: from flask import Blueprint cars = Blueprint('cars',__name__) from . import views,errors 3.在manage.py文件中作为启动文件,可以注册蓝图: from flask import Flask from App.car...

阳光女孩---python-Girl 537

python+Flask中蓝图Blueprint的使用

个人理解:一个flask框架,定义一个server = Flask(name)服务器,那么定义蓝图的作用其实就是弄多个与server相同作用的东西。 admin = Blueprint('admin',__name__) server.register_blueprint(admin) 这样注册了蓝图admin之后,admin就有了server同样的功能了。相当于多了个服务器。 比如: api=flask_restful.Api(server,catch_all_404s=True) api=flask_

weixin_38858749的博客 1389
上一篇: CentOS 上 Flask + uWSGI + Nginx 部署
下一篇: Flask SQLAlchemy 增删改查
spark_csdn
博客等级 码龄11年 7粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值