Django(四)模板文件中的循环
编辑views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse #此行增加
# Create your views here.
def plan(request): #此函数增加
user=[]
for i in range(20):
user.append({'username':'jack'+str(i),'age':18+i})
return render(request,'hello.html',{'hello': user})
增加一个for循环,创建一个字典的列表。
把这个列表替换进模板
继续编辑模板文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
{% for row in hello %}
<h1>{{ row.username }}---{{ row.age }}</h1>
{% endfor %}
</body>
</html>
body中的就是循环
有循环头部{% for row in hello %}
有循环尾部 {% endfor %}
注意其中我使用了hello user row row.username row.age
hello在render中,作为模板被替换的标志
hello在模板中,作为循环的列表。
user,在render中,作为替换内容,把hello这个特殊标记替换为user
user,在模板中,已经变成标记了,也就是hello
row,在for循环中,代表列表的一个条目,一行?
列表元素是字典,所以循环体中用row.username来标识列表中其中一个字典的索引。
row.age也一样。
你也可以试试下面的效果
{% for row in hello %}
<h1>{{ row}}</h1>
{% endfor %}
像我这样不专业的业余选手,更喜欢用另一种方法,不用字典,用列表
row.0 row.1 row.2
也是可以用的参数。替换前,它是列表才行。
相关代码如下:
def plan(request): #此函数增加
user=[]
for i in range(20):
temp = [18+i , '--',19+i]
user.append(temp)
return render(request,'hello.html',{'hello': user})
{% for row in hello %}
<h1>{{ row.0}}</h1>
<h3>{{ row.1 }}</h3>
<h6>{{ row.2 }}</h6>
{% endfor %}
Django(四)模板文件中的循环的更多相关文章
- Django DTL模板语法中的循环的笔记
for...in...笔记: for...in...标签: for...in...类似于Python中的for...in....可以遍历列表.元组.字符串.字典等一切可以遍历的对象.示例代码如下: { ...
- Django DTL模板语法中的循环
from django.shortcuts import render def index(request): context={ 'books':[ '5年高考3年模拟', '家猪养殖与配种', ' ...
- phpcms-v9 前台模板文件中{pc}标签的执行流程
前台pc标签的使用:{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"} 如: {pc:content ac ...
- ecshop的模板文件中如何判断用户是否登录
ecshop中对于smarty的运用和改造有很大的值得借鉴的地方,在dwt模板文件中可以直接判断用户是否登录,现在有规定,凡是只展示不销售的电商平台,一律不得展示商品价格,但可以在用户登录后显示. & ...
- django的模板语言中一些之前没有用过的小点
1.模板语言中的for循环的最后一个的表示方式 {% for auther in auther_list %} {% if forloop.last %} {# 这里的意思是for循环的最后一个的意思 ...
- smarty模板引擎中section循环loop与total的区别
在smarty模板引擎的section循环中 $data=[101,102,103,105,104]; section的两个属性total与loop {section foo $data start= ...
- Thymeleaf常用语法:模板文件中表达式调用Java类的静态方法
在模板文件的表达式中,可以使用“${T(全限定类名).方法名(参数)}”这种格式来调用Java类的静态方法. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1. ...
- HtmlWebpackPlugin用的html的ejs模板文件中如何使用条件判断
折腾: [已解决]给react-hot-boilerplate中的index.html换成用HtmlWebpackPlugin自动生成html 期间,已经有了思路了,但是不知道如何在ejs的html中 ...
- Django DTL模板语法中的过滤器
template_filter_demo 过滤器相关: 一.形式:小写{{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 <p> 标签{{ my_text| ...
随机推荐
- 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)【转】
本文转载自:https://www.leiphone.com/news/201703/Y5vnDSV9uIJIQzQm.html 生成对抗网络(Generative Adversarial Netwo ...
- arm linux下启动ftp服务
1.环境: /home/jello # uname -aLinux 3.10.0 #2 SMP Mon Mar 6 17:52:09 CST 2017 armv7l GNU/Linux 2.使用tc ...
- 【镜像地址】Maven地址列表
1.国内OSChina提供的镜像,非常不错 <mirror> <id>CN</id> <name>OSChina Central</name> ...
- [bzoj 1616][Usaco2008 Mar]Cow Travelling游荡的奶牛
题目描述 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见 ...
- java对象在内存的大小
前言 一直以来,对java对象大小的概念停留在基础数据类型,比如byte占1字节,int占4字节,long占8字节等,但是一个对象包含的内存空间肯定不只有这些. 假设有类A和B,当new A()或者n ...
- hdu 5668 Circle 中国剩余定理
Circle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem D ...
- ubuntu 16.04 u盘挂载以及卸载
1.列出所有磁盘 sudo fdisk -l 2.最后一段信息显示的为u盘 Device Boot Start End Sectors Size Id Type /dev/sdb4 * 256 786 ...
- node 循序渐进
1. 执行 node helloworld.js 2. http 服务器 建 server.js 文件 - node server.js 跑起来 - 浏览器访问 http://localho ...
- 【Golang 接口自动化01】使用标准库net/http发送Get请求
发送Get请求 使用Golang发送get请求很容易,我们还是使用http://httpbin.org作为服务端来进行演示. package main import ( "bytes&quo ...
- ubuntu 常用设置
●1 问题:使用virt-manager创建虚拟机时,Virtual network 'default':NAT(Inactive) 解决方法:1,查看网络状态sudo virsh net-list ...