码迷,mamicode.com
首页 > 其他好文 > 详细

第八篇 Flask中的蓝图

时间:2019-01-09 21:35:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:iss   app   等等   fonts   装饰器   调用   bubuko   多个   func   

随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。
如下示例:我们在一个文件中写入多个路由,这会使代码维护变得困难。

技术分享图片

如图所示,如果我们将所有的请求方法写在同一个处理文件下面的话,会导致我们的代码显得很没有逻辑性,如果我们后期想要修改代码或者添加新的代码的话,就会显得很尴尬,不知道如何的下手,此时就需要我们的所谓的蓝图来解决这个问题了,如果学过django的程序员可能了解过django中的app的作用了,没错,django中的app的主要作用就是将django的项目分成一个个单独的app,然后将所有的app分配不同的处理功能,通过路由分配将它们连接成一个大的django项目,其实Flask中的蓝图和django中的app功能大同小异,下面我们大概的了解一下Flask的蓝图。

一、什么是蓝图

一个蓝图定义了可用于单个应用的视图、模版、静态文件等等的集合。可以把蓝图当作你的应用的管理面板。

二、蓝图的运行机制

蓝图是保存了一组将来可以在应用对象上执行的操作。注册路由就是一种操作,当在程序实例上调用route装饰器注册路由时,这个操作将修改对象的url_map路由映射列表。当我们在蓝图对象上调用route装饰器注册路由时,它只是在内部的一个延迟操作记录列表defered_functions中添加了一个项。当执行应用对象的 register_blueprint() 方法时,应用对象从蓝图对象的 defered_functions 列表中取出每一项,即调用应用对象的 add_url_rule() 方法,这将会修改程序实例的路由映射列表。

三、蓝图的使用

(一)创建蓝图对象

技术分享图片

(二)注册蓝图路由

技术分享图片

(三)在程序实例中注册该蓝图

技术分享图片

以模块的形式实现路由

文件位置:
技术分享图片

manage.py

技术分享图片

其余文件夹和内容:
技术分享图片

技术分享图片

技术分享图片

蓝图路由显示规则

查看蓝图路由:蓝图路由可以分为两块,".“前面的是蓝图名称,”."后面的是视图函数名。
技术分享图片

 

第八篇 Flask中的蓝图

标签:iss   app   等等   fonts   装饰器   调用   bubuko   多个   func   

原文地址:https://www.cnblogs.com/fengchong/p/10246649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!