深入浅出讲解Flask中的蓝图

百度可知:

flask中的蓝图最主要的目的还是增强代码的可读性,降低其耦合度,比如做一个项目,代码业务逻辑量很大,这是可以引入蓝图进行处理!


官方点的说:蓝图就是一个**存储操作路由映射方法的容器**,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。 


蓝图:用于实现单个应用的视图、模板、静态文件的集合。 (是不是很像Django中的app的作用!)

1.Flask中为何要用到蓝图这个东西呢?

项目开发是一个相对于来说非常耗时间和精力的一个工作!,如果我们将所有的Flask的请求方法都写在同一个文件下的话,非常不利于我们代码的管理和后期功能添加以及维护!
如下所示:我们在一个文件中写入多个路由,光看着就头疼,别说后期维护啥的了!天方夜谭!!!

在这里插入图片描述

2. 鉴于上图,此时就需要我们的所谓的蓝图来解决这个问题了,如果学过django的程序员可能了解过django中的app的作用,没错,django中的app的主要作用就是将django的项目分成一个个单独的app,然后将所有的app分配不同的处理功能,通过路由分配将它们连接成一个大的django项目,其实Flask中的蓝图和django中的app功能大同小异,下面我们大概的了解一下Flask的蓝图,代码如下:

* 我们首先创建一个主的路由配置文件manage.py,该文件主要的作用就是启动整个的Flask框架(项目),如图所示:
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20200723143530703.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0OTA3OTI2,size_16,color_FFFFFF,t_70)

* 接着,我们在manage.py的平级的目录下创建两个文件admin.py    user.py,我们大概的看一下两个文件中的内容

在这里插入图片描述

* 这两个文件相当于django中的两个app了,**不同的是django中的路由分配是将主路由通过include分配到app的urls.py,而Flask是通过蓝图注册的方式将蓝图添加到主app中,** user.py,admin.py主要是创建蓝图,然后在创建的蓝图中可以添加路由配置,接着我们就可以在主路由文件manage.py中将我们创建的蓝图注册到主app中了。

在这里插入图片描述在这里插入图片描述

3.这样我们配置好了以后就可以实现我们的路由分层管理了,我们来试一下,运行主程序manage.py:

(1)首先,观察主app下的路由配置,发现完美!

在这里插入图片描述

在这里插入图片描述

(2)然后,观察蓝图user中的路由配置,发现对应OK!(注意:url_prefix这个参数的存在,使得访问蓝图中路由时,必须要此参数的值为前缀进行访问)

在这里插入图片描述

在这里插入图片描述

我们请求的路由和我们所设置的返回值是一样的,这样我们就大概的完成了一个Flask的蓝图的注册,实现了文件功能的分层次管理了。

相关文章

Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Pyt...
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ...
【Flask框架】—— 视图和URL总结
python+web+flask轻量级框架的实战小项目。登录功能,后续功...
有了这个就可以配置可信IP,关键是不需要企业认证,个人信息...