当前位置:   article > 正文

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可以定义模板文件路径,在这里就不展示了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/587162
推荐阅读
相关标签
  

闽ICP备14008679号