Flask架构--路由和蓝图

学习视频:第二章:路由和蓝图 1 Flask查询路由的方式_哔哩哔哩_bilibili

参考:Flask框架之路由与蓝图的使用_flask 路由和蓝图-CSDN博客

1.路由的概念:
用于将http请求与特定的python函数相匹配。定义路由后,flask程序可响应url的请求,执行响应函数,并将结果返回给用户。(将一个url与特定的函数绑定。)

创建方法:@app.route装饰器。(装饰器@app.route(url)为某个url指定对应的视图函数)

falsk框架中,视图定义在那,路由就跟着在哪。查看所有的路由,需要查看所有的视图函数。

2.在一个统一的路口,查看所有的路由信息:

方式一:直接使用命令:flask routes(需要先制定app的),之后使用该命令,展示出的路由信息就是该app的路由信息。

输出结果为:视图函数名,请求方式,路径(只要加载静态图片就会存在static函数)。

方式二:直接在程序内部查看,通过app.url_map()方法。

需求一:在访问一个特定接口时,能够把flask后端中提供的所有路由都一次性展示给客户端。(需要对map对象进行处理,对输出格式进行微调,视图名称就是某种业务的名称)

app.url_map.iter_rules()方法返回一个列表。

更改函数:

点击链接进行指定页面,即可显示结果:

客户端在请求的过程中不止有ip地址、端口号和path路径,同样会指定请求的方式(get、post等),在确定函数编写前需要确定请求方式。

3.自定义请求方式

定义flask 视图时,如果不加入任何请求方式,他只支持get和自带的请求方式。

需要其他请求方式时,要放开请求方式,通过methods参数,他是一个列表形式的参数。

需求二:在构建一个网站时,不只有一个视图函数,业务逻辑处理多,可能需要定义很多接口,所以视图就会有很多。视图多的情况下,在文件中进行管理,用到蓝图。

4.蓝图:一种组织Flask程序路由的方式,更好地组织代码,使应用程序更加模块化、易于管理。通过使用蓝图,可以将应用程序划分成多个模块,每个模块内部定义自己的路由,将这些模块注册到主应用程序中。(Blueprint)

可以所有视图的所有路由添加前缀。

创建蓝图的三个步骤:

①创建一个蓝图对象,②在这个蓝图对象上进行操作,注册路由,指定静态文件夹,注册模板过滤器。③在应用对象上注册这个蓝图对象。

单文件蓝图和目录蓝图

对于目录文件,一般将蓝图对象放到某个指定目录包的__init__文件中,在该文件结尾在导入视图文件。

必须在视图文件结尾导入,负责会出现循环引用的问题。

5.蓝图内部的静态文件
6.蓝图内部模板目录

flask中debug模式的作用:

后端出现错误,会直接返回真实的错误信息给前端。

修改代码后,会自动重启开发服务器。

相关推荐
财经资讯数据_灵砚智能3 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月11日
大数据·人工智能·python·信息可视化·自然语言处理
Ulyanov4 分钟前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 刚体觉醒——6-DOF刚体动力学、四元数与全姿态解算
开发语言·人工智能·python·算法·系统仿真·雷达电子对抗仿真
Sylvia33.6 分钟前
足球数据API接入实战:从认证到实时比分推送的完整指南
java·开发语言·前端·c++·python
_小郑有点困了11 分钟前
学习Python基础语法及使用
前端·python·学习
国强_dev25 分钟前
如何提升canal吞吐量
java·大数据·python
大明者省35 分钟前
大模型万卡训练集群架构
架构
狐狐生风41 分钟前
LangGraph 生产级部署全解:FastAPI + Docker
python·docker·langchain·prompt·fastapi·langgraph·agentai
2501_9127840843 分钟前
告别“汗水出海”:基于微服务架构的跨境电商系统设计与实现——以Taocarts为例
微服务·云原生·架构·taocarts
dfsj660111 小时前
第九章:Transformer 架构
深度学习·架构·transformer
派拉软件1 小时前
AI 网关:重塑企业级大模型服务治理架构
大数据·人工智能·架构