代刷网站推广链接0元价格,c2c模式介绍,广州网站建设哪个平台好,水滴信用企业查询官网flask蓝图的使用
首先#xff0c;我对蓝图的理解相对通俗#xff0c;就是觉得蓝图对于视图方法模块化、大项目协同开发过程中的一个很好的工具.
1.下图是我们通常情况下使用的项目组织结构 看一下视图方法: #views.py1 from app import app2 3 4 app.route(/user/index)5 d…flask蓝图的使用
首先我对蓝图的理解相对通俗就是觉得蓝图对于视图方法模块化、大项目协同开发过程中的一个很好的工具.
1.下图是我们通常情况下使用的项目组织结构 看一下视图方法: #views.py1 from app import app2 3 4 app.route(/user/index)5 def index():6 return user_index7 8 app.route(/user/show)9 def show():
10 return user_show
11
12 app.route(/user/add)
13 def add():
14 return user_add
15
16 app.route(/admin/index)
17 def adminindex():
18 return admin_index
19
20 app.route(/admin/show)
21 def adminshow():
22 return admin_show
23
24 app.route(/admin/add)
25 def adminadd():
26 return admin_add#从视图方法中我们看到有6个视图分别对应admin,user两个不同用户的3个功能index,add,show.这样写显然没问题但是明显与python提倡的模块化优雅的代码特点相违背,即不是很python的python代码.让我们在这里假想两个问题:
1.如果admin和user不止只有3个功能呢比如好几百个导致views的代码量已经达到了上万行
2.如果我们有多个同事分工开发adminuser和其它可能的模块呢,都同时往一个views里写代码吗在做版本控制时提交过程中频繁出现提交冲突了怎么办
3.加入我们要抛弃admin或者user功能块时怎么办要一一手动删除所有admin或是user相关的代码吗这样当然可以但是会不会太low呢?当然根据Pythonic特点我们肯定希望尽可能的把代码尽量的模块化让我们的代码看起来更加的优雅和顺畅这个时候flask.Blueprint(蓝图)就派上用场了什么是蓝图 一个蓝图定义了可用于单个应用的视图模板静态文件等等的集合。 我什么时候会用到蓝图 蓝图的杀手锏是将你的应用组织成不同的组件比如把这里的adminuser相关的视图方法分为两个组件一个是admin组件一个是user组件.这时我们可以
创建两个蓝图实现这两个独立的组件. 2.我们如何使用蓝本将上述的视图方法看上去更加pythonic呢
由于上面的例子中只有两个组件(模块)admin,user,我们可以创建名为admin.py和user.py的两个文件,分别在里面创建两个蓝图的实例对象admin,user.
直接上代码:
#admin.py
按 CtrlC 复制代码 按 CtrlC 复制代码
#user.py
按 CtrlC 复制代码 按 CtrlC 复制代码 https://www.cnblogs.com/diaosir/p/6347952.html
好了视图函数已经分开了我们如何使用它们的呢再来看一下我们的views.py变成了什么样吧
#views.py
按 CtrlC 复制代码 按 CtrlC 复制代码 #现在我们的views是否已经变得很简单了呢?顺便回答第三个问题如果想弃用某一个组件(模块)我们只需要相对应的注释掉给app注册蓝图的行即可.
#细心的伙伴还可以发现在views.py中在使用默认endpoint的前提下我们是没有办法使用同一个视图方法名的当然我们也不建议在同一个文件中有两个视图方法名相同
#尽管指向他们的request.url不同),但是使用了蓝图之后我们就可以在不同模块中使用相同的方法名了,例如add,show..
3.到此我们就可以通过浏览器测试我们的程序4.附上使用蓝图后的项目组织结构