本节主要讲 Django模板中的循环,条件判断,常用的标签,过滤器的使用。
- 列表,字典,类的实例的使用
- 循环:迭代显示列表,字典等中的内容
- 条件判断:判断是否显示该内容,比如判断是手机访问,还是电脑访问,给出不一样的代码。
- 标签:for,if 这样的功能都是标签。
- 过滤器:管道符号后面的功能,比如{{ var|length }},求变量长度的 length 就是一个过滤器。
如果需要将一个或多个变量共享给多个网页或者所有网页使用,比如在网页上显示来访者的IP,这个可以使用 Django 上下文渲染器 来做。
实例一、显示一个基本的字符串在网页上
实例二、讲解了基本的 for 循环 和 List内容的显示
实例三、显示字典中内容
实例四、在模板进行 条件判断和 for 循环的详细操作
在for循环中还有很多有用的东西,如下:
变量 | 描述 |
---|---|
forloop.counter | 索引从 1 开始算 |
forloop.counter0 | 索引从 0 开始算 |
forloop.revcounter | 索引从最大长度到 1 |
forloop.revcounter0 | 索引从最大长度到 0 |
forloop.first | 当遍历的元素为第一项时为真 |
forloop.last | 当遍历的元素为最后一项时为真 |
forloop.parentloop |
用在嵌套的 for 循环中, 获取上一层 for 循环的 forloop |
当列表中可能为空值时用 for empty
<ul> {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% empty %} <li>抱歉,列表为空</li> {% endfor %} </ul>
views.py
from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index(request): # 1、显示一个基本的字符串在网页上 string = ‘我在自强学院学习Django教程,非常感谢作者的无私奉献!‘ # 2、基本的 for 循环 和 List内容的显示 TutorialList = [‘HTML‘,‘CSS‘,‘jQuery‘,‘Python‘,‘Django‘] # 3、显示字典中的内容 info_dic = {‘site‘:‘自强学堂‘,‘content‘:‘各种IT技术教程‘} # 4、条件判断和for循环 list = map(str,range(21)) return render(request,‘index.html‘,{‘string‘:string,‘TutorialList‘:TutorialList, ‘info_dict‘:info_dic,‘list‘:list})
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>MyTitle</title> </head> <body> {{ string }} <p> 教程列表: {% for i in TutorialList %} <li>{{ i }}</li> {% endfor %} </p> <p><ol> <li>站点:{{ info_dict.site }}</li> <li>内容:{{ info_dict.content }}</li> </ol> </p> <p> {% for item in list %} {{ item }}{% if not forloop.last %},{% endif %} {% endfor %} </p> </body> </html>
时间: 2025-01-10 23:33:42