Django基础学习六之渲染

今天简单的介绍一下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、我们在子模板中可以重新定义父模板允许我们更改的标签的内容,但是其他的标签则会继承父模板,下面的例子就重写了允许修改的标签的内容

实现的效果如下

原文地址:https://www.cnblogs.com/bainianminguo/p/7862410.html