今天简单的介绍一下Django的template的渲染和Django的template的基本的语法
首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的shell
然后导入django的template模块的template方法和Context方法
1、首先我们来看下简单的变量查询进行渲染
模板定义了有2个变量,一个是name一个是age,然后Context(上下文)分别对这2个变量进行赋值,然后用render方法对template进行渲染
================================================================================================================
下面我们会学习如何把一个字典或者列表传递到上下文中,其实方法很简单,这里必须要用到字典【xxxx】,把我们要传递的字典或者列表作为字典【xxxx】的value传递
到上下文中,然后在template中通过k去获取value,也就是要我们要传递的字典或者列表
2、然后我们还可用字典来对template进行渲染,这里要注意,在python中取字典的value需要用到中括号,但是在django中取字典的value要用到点号
这里先定义了一个字典person,然后在上下文中把这个字段person作为另外一个字段的value的值传递进去
3、最后我们还可以用列表对template进行渲染,这里要注意,在python中取列表的某个元素要用到中括号,但是在django中取列表的元素要用到点号
同样,也要用字典的方式,把列表作为字典的value的值传递给上下文,然后在进行渲染
下面我们在简单的介绍下tempalte的语法
1、先在工程的url中配置如下一条url
2、在工程的vews视图文件中配置这样一个函数,传递一个额外的字典给html文件,下面我们就需要在html文件中处理这个额外的字典
3、使用tempalte的for循环获取字典中的每一个元素,代码如下
效果如下
4、下面我们要的效果是,如果年龄为27,则给这个标签加上固定的样式,代码如下,for循环中套一个if判断
效果如下
5、下面我们实现的效果是如果循环的次数大于2,那么我们给这个标签加上样式,这里主要是学习forloop.counter这个变量,这个变量的意思就是当前循环的次数,从1开始,如果是forloop.counter0,则从0开始计数;代码如下
效果如下
最后我们在来学习一下tempalte的继承
1、首先需要在子模板文件中继承指定的父模板文件,写法如下,下面的例子实现的效果是子模板所有的文件都被父模板覆盖,这个其实不是我们要的目的,这里需要注意,就是一个html最多只可以继承一个html文件;
2、然后我们要在父模板中定义,哪些标签是允许子模板更改的,这里的xxxx是可以任意定义的,这理的意思就是在block和endblock之前的标签是允许子模板更改的
3、我们在子模板中可以重新定义父模板允许我们更改的标签的内容,但是其他的标签则会继承父模板,下面的例子就重写了允许修改的标签的内容
实现的效果如下
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20854.html