6.蓝图

编程入门 行业动态 更新时间:2024-10-10 01:23:15

6.<a href=https://www.elefans.com/category/jswz/34/1768489.html style=蓝图"/>

6.蓝图

由于项目中代码比较多了,在P18的时候我们新建一个项目,创建后是这个样子的

项目名称为 second_bule_print,这个blue我写错了,但是后面截图还是按这个名字走的,我就不改了

flask中的蓝图是多个路由与视图集成的产物,相当于django中的子应用,创建蓝图的目的是方便复用与维护

蓝图可以有自己的模板,静态文件,但是蓝图并不是一个完整的应用,不能独立运行

目录

1 与应用对象在同一文件的蓝图

2  与应用对象不在同一文件的蓝图

3  蓝图的静态文件


1 与应用对象在同一文件的蓝图

与应用对象在同一文件的蓝图是这样做的,首先创建一个蓝图对象,然后在蓝图中写路由和视图,最后把蓝图放到应用对象中

这里面蓝图的名称user是给开发者看的,和路由没有关系,创建的路由必须是之前没有的,当前代码我们还是访问127.0.0.1:5000

为了方便使用与记忆,我们一般会在app的路由中,加入以蓝图名称命名的前缀

这样我们就需要访问 127.0.0.1:5000/user

2  与应用对象不在同一文件的蓝图

我们大多数情况是在别的文件中定义蓝图,首先我们要在项目路径下创建一个python包

创建之后我们发现会有一个空的 __init__.py,我们在里面创建一个蓝图对象

之后在路径other_bule_print 创建一个py文件来存放视图,这里我们就叫views.py

  • 视图可以和蓝图放在一起,也可以不放在一起,这里我们就使用更复杂的不放在一起的方法

在vies.py中导入蓝图后,定义一个蓝图中的路由与视图

之后我们回到我们开服务的main.py,先从文件中导入蓝图,之后注册

这里我们如果直接访问的话是404,这是因为没加载views.py,所以我们要在other_bule_print的__init__.py中加载views.py

这里要注意这个导入一定要写在定义蓝图的后面,要不到视图哪里会找不到other_bule_print

修改之后我们呢再访问一下

3  蓝图的静态文件

创建蓝图对象时加入参数static_folder

  • 不加是不行的,蓝图对象的static_folder默认为None

我们在这里创建一个文件夹static,然后放一张图片进去

之后我们访问一下 http://127.0.0.1:5000/other_bule_print/static/flask.png

发现可以访问到这个图像

使用static_url_path可以定义静态文件的url,template_folder可以定义模板文件路径,在这里就不展示了

更多推荐

6.蓝图

本文发布于:2024-03-11 18:15:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729584.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:蓝图

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!