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的路由信息。

Flask架构--路由和蓝图_第1张图片

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

Flask架构--路由和蓝图_第2张图片

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

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

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

更改函数:

Flask架构--路由和蓝图_第3张图片

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

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

3.自定义请求方式

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

Flask架构--路由和蓝图_第4张图片

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

Flask架构--路由和蓝图_第5张图片

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

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

Flask架构--路由和蓝图_第6张图片

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

Flask架构--路由和蓝图_第7张图片

创建蓝图的三个步骤:

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

Flask架构--路由和蓝图_第8张图片

Flask架构--路由和蓝图_第9张图片

单文件蓝图和目录蓝图

Flask架构--路由和蓝图_第10张图片

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

Flask架构--路由和蓝图_第11张图片

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

Flask架构--路由和蓝图_第12张图片

Flask架构--路由和蓝图_第13张图片

5.蓝图内部的静态文件

Flask架构--路由和蓝图_第14张图片

6.蓝图内部模板目录

Flask架构--路由和蓝图_第15张图片

flask中debug模式的作用:

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

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

你可能感兴趣的:(flask,架构,python)