###

我们的项目不可能有一个py文件,会有很多个,怎么写?

首先,我们不可能在每一个py文件,都写一个app示例

可以写一个__init__.py

flask框架-蓝图_构造程序

###

其次,我们需要新建一个views,文件件,放我们的各种视图函数,

flask框架-蓝图_django_02

 

###

第三步,就是app.py,入口文件,运行就可以了

flask框架-蓝图_django_03

 

###

这样就可以实现这个机制了,

但是我们没有使用flask的蓝图,

这种可以,但是没有蓝图好,

那么使用蓝图怎么实现这个多个py文件的需求,

##

init文件

flask框架-蓝图_文件路径_04

 

 注意,创建app的时候,定义了模板文件路径,静态文件路径

有一个蓝图注册的过程,相当于是做了汇总,

#####

视图文件

flask框架-蓝图_构造程序_05

 

 ####

 蓝图给url加前缀

flask框架-蓝图_文件路径_06

 

 flask框架-蓝图_白名单_07

 

这个给url加前缀,就是蓝图的功能,

###

还可以给每一个视图指定模板路径

flask框架-蓝图_django_08

 

会优先在templates,里面找,如果没有会在他的视图指定的模块路径找,

####

所以蓝图的作用

1,构造程序的目录

2,多出的功能

批量url加前缀

指定模块路径,

###

flask框架-蓝图_白名单_09

 

 ###

flask框架-蓝图_文件路径_10

 

所以第三个蓝图的作用,

可以给app加请求扩展,这个是针对所有的蓝图的,

还可以给蓝图加请求扩展, 这个是针对一个蓝图的,蓝图这个地方就是py文件了,这样就不用白名单过滤登陆了,

####

上面都是使用的多个蓝图构建了一个程序,app,

蓝图还可以构造多个app,然后多个app一起组成一个project,

 flask框架-蓝图_flask_11

 

  创建了两个蓝图,就是admin和web,

flask框架-蓝图_构造程序_12

 

flask框架-蓝图_构造程序_13

 

###

这种就和Django的app类似了,这种结构适合写大型的项目,

 一般都是使用的第一个,这个用的更多,

一般大型项目都会拆分,即使让你写一个大型的程序,你也拆分成一个一个的小的,

 注意,蓝图的名字和视图的名字不要一致,

 

###