002:Django 模板系统介绍

本章知识点
1、Django 模板系统介绍
2、Django 模板系统的基本语法
3、使用Django进行前端的模板渲染
1、Django 模板系统介绍
在上节课完成了一个hello world的访问,但是这样的网站没有实际意义,在开始学习今天的知识 之前,我们先回忆一下,学习Python之初学习到的一个知识点,Python的字符串格式化:
在这里插入图片描述
在这里插入图片描述
这个例子很简单,但和web开发有共同的地方,都是需要将数据展示到具体的格式当中,最明显的实例就是类似腾讯qq空间的网站,我们可以切换好多种表达的方式(皮肤),但是内容是不变的。这样就涉及到了一个表达方式和表达内容的区别,Django当中是通过他的模板系统来完成这一工作的。
2、Django 模板系统的基本语法
Django的模板系统将整个数据展示的功能分为四个步骤
1、构建模板对象
2、构建数据结构
3、模板加载数据
4、前端传递数据
完整代码如下
\QShop\QShop\views.py
在这里插入图片描述
在这里插入图片描述

我们然后通过制定路由得到效果如下:
\QShop\QShop\urls.py
在这里插入图片描述
在这里插入图片描述
在上面是最简单的一个例子,接下来深度的学习Django模板系统的语法:
Django的模板系统有以下三种常用元素组成:
1、变量:有双大阔号包围的用于接受变量的元素 {{ example }}
\QShop\QShop\views.py
在这里插入图片描述
\QShop\QShop\urls.py
在这里插入图片描述
变量除了可以是字符串之外,也可以是列表、元组、字典、或者类,并且变量通过.可以调用到自己不需要传参的任何参数。完整代码如下
\QShop\QShop\views.py
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、标签 标签是有大括号百分号包围的,具有语法规则的元素,常用的标签有以下几种
If标签
\QShop\QShop\views.py
在这里插入图片描述
在这里插入图片描述
\QShop\QShop\urls.py
在这里插入图片描述
If equal标签
\QShop\QShop\views.py
在这里插入图片描述
在这里插入图片描述
路由不变,直接访问,效果如下
在这里插入图片描述
在这里插入图片描述
路由不变,直接访问,效果如下
在这里插入图片描述
forloop控制
\QShop\QShop\views.py
在这里插入图片描述
在这里插入图片描述
路由不变,直接访问,效果如下在这里插入图片描述
3、过滤器 在变量当中以竖线作为标识对变量进行修改的元素
Django的过滤器有很多种,我们在后面的课程当中会讲到自定义过滤器,今天课上我们来研究一个特殊的过滤器。
Safe,Django默认情况下,会将后端传递上来的字符串当中的代码自动转义,比如下面这段代码
\QShop\QShop\views.py
在这里插入图片描述
\QShop\QShop\urls.py在这里插入图片描述
在这里插入图片描述
但是如果使用了safe标签,效果就会有所不同了,
\QShop\QShop\views.py
在这里插入图片描述
当然,这个标签要慎用,应为可能导致前端注入
在这里插入图片描述
最简单前端注入效果:
\QShop\QShop\views.py
在这里插入图片描述
效果如下
在这里插入图片描述
3、使用Django进行前端的模板渲染
上面的课程当中,我们学习了Django模板的基础代码,但是把HTML直接写在视图当中并不是一种很好的习惯。所以我们接下来研究的是Django模板系统加载独立的HTML页面。
1、加载HTML文件
1、创建HTML文件目录
首先在项目的根目录下创建一个目录作为静态文件的目录
在这里插入图片描述
在这里插入图片描述
然后编写HTML
\QShop\templates\index.html
在这里插入图片描述
2、配置HTML文件路径
接着配置settings当中的HTML文件加载路径
\QShop\QShop\settings.py

os.path.join(BASE_DIR,“templates”)
在这里插入图片描述
这是课程第一次接触到settings配置,我们必须认识到一个settings当中的配置,就是 BASE_DIR,这个是Python os模块获取当前项目的根目录,我们在settings当中的大部分 的路径配置都会用到这条配置。
在这里插入图片描述
在这里插入图片描述
3、加载HTML文件
\QShop\QShop\views.py
在这里插入图片描述
这样访问路由效果如下
在这里插入图片描述
效果同样很棒
在这里插入图片描述
在此,我们可以将之前学习的模板系统的语法进行一个基本的整合使用。
目标:
定义一个学员介绍的列表页。
首先,定义视图函数,我们在函数当中手动的构建记录学员信息的数据结构
\QShop\QShop\views.py
在这里插入图片描述
接着指定路由
\QShop\QShop\urls.py
在这里插入图片描述
然后编写前端效果
\QShop\templates\students.html
在这里插入图片描述
在这里插入图片描述
效果如下:在这里插入图片描述
在这里插入图片描述
2、配置静态文件配置
在这里插入图片描述
3、进行前端的文件调用
顶部导入

在这里插入图片描述
当中使用
在这里插入图片描述
当然如果不想每个文件里面都load,我们也可以在settings当中配置
在这里插入图片描述
在这里插入图片描述
课程总结
1、Django 模板系统介绍
2、Django 模板系统的基本语法
3、使用Django进行前端的模板渲染

猜你喜欢

转载自blog.csdn.net/weixin_43582101/article/details/85637206