“Day63 模板语法 学习笔记”
一、模板语法
什么是模板语法?
模板语法是一种写在HTML中的标记语法,常用有两种方式:
作用:
1.1 模板语法传值
1.1.1 传递基本数据类型
模板语法可接收后端传递过来的所有基本数据类型。
案例如下:
后端views.py
定义变量,并传递给前端
前端使用模板语法
调用
HTML页面输出:
1.1.2 传递类方法
模板语法可接收后端传递过来的类方法返回值,但是调用类方法不能传参数
案例如下:
后端views.py
定义变量
前端使用模板语法
调用
HTML页面输出:
1.1.3 通过.
获取值
Django模版语法的取值是固定的格式
,只能采用“句点符” .
案例如下:
怎么通过模板语法,从里面拿到”牛逼Plus”?
先拿到字典键’bb’的值,再从里面取下标为2的值。即可以点键也可以点索引 还可以两者混用
1.2 模板语法过滤器
可以理解为shell中的管道
,对数据进行二次处理。
Django内置有60多种过滤器,这里介绍10个左右
案例如下:
变量定义与传递views.py
HTML获取值
测试访问:
1.2.1 转义补充
除了前端可以使用|safe
过滤器转义,Django后端也可以转义
页面效果:
1.3 标签
1.3.1 for循环
后端:
前端:
结果
1.3.2 if判断
后端:
前端:
页面输出:
1.3.3 标签混用
前端:
页面输出:
1.3.4 处理字典
后端定义字典:
前端:
页面输出:
1.3.5 with起别名
我们过滤1.3.4节的字典,比如从里面获取’热水器’这个值,一般的写法是:
如果觉得这么写太长,可以给它取个别名:
照样输出热水器
1.4 自定义过滤器、标签、Inclusion_tag
1.4.1 准备工作
无论是自定义过滤器、标签还是inclusion_tag,都需要进行如下准备工作:
1、在应用下创建名叫templatetags
的文件夹(必须这个名字)
2、在该文件夹内,创建任意的py
文件
3、在py
文件中,需要导入模块
1.4.1 自定义过滤器
后端定义过滤器,实现两个数相加的功能
前端调用
1.4.2 自定义标签
后端定义
前端调用
页面输出
1.4.3 自定义inclusion_tag
作用:
当html页面某一个地方的页面(局部页面
)需要传参数才能够动态的渲染
出来,并且在多
个页面上都需要使用到该局部页面,那么就考虑将该局部页面做成inclusion_tag形式
内部原理:
- 先定义一个方法
- 在页面上调用该方法 并且可以传值
- 该方法会生成一些数据然后传递给一个html页面
- 之后将渲染好的结果放到调用的位置
图解:
案例:
后端定义:
局部页面:left_menu.html
定义
主页面调用(既将局部页面插入主页面):
效果(主页面中插入了left_menu.html页面):
1.5 模板的继承(TODO)
这里有个例子要做(TODO)
1.6 模板的导入
二、CBV源码分析