Django DTL模板语法中的循环

时间:2024-08-04 22:35:50
 from  django.shortcuts import render

 def index(request):
context={
'books':[
'5年高考3年模拟',
'家猪养殖与配种',
'Python 3 面向对象编程',
'MySQL数据库从删库到跑路'
],
'person':{
'username':'randomlee',
'age':'',
'height':''
},
'book2s':[
{
'name':'5年高考3年模拟',
'author':'黄冈中学',
'price':''
},
{
'name':'家猪养殖与配种',
'author':'不知道',
'price':''
},{
'name':'Python 3 面向对象编程',
'author':'a',
'price':''
},{
'name':'MySQL数据库从删库到跑路',
'author':'abc',
'price':''
}
],
'comments':[
' 文章的评论内容'
]
}
return render(request,'index.html',context)

views.py

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
text-align: center;
background: pink;
{#line-height: 100px;#}
}
td{
border: 1px solid;
padding: 10px; }
table{
text-align: center;
}
</style> </head>
<body>
<ul> {% for book in books reversed %}
<li>{{ book }}</li>
{% endfor %}
</ul>
<ul>
{% for v in person.values %}
<li>{{ v }}</li>
{% endfor %}
{% for k in person.keys %}
<li>{{ k }}</li>
{% endfor %}
{% for k,v in person.items %}
<li>{{ k }}/{{ v }}</li>
{% endfor %} </ul> <table>
<thead>
<tr>
<td>从1开始序号</td>
<td>从0开始序号</td>
<td>反转序号最后一位是1</td>
<td>反转序号最后一位是0</td>
<td>书名</td>
<td>作者</td>
<td>价格</td>
</tr>
</thead>
<tbody> {% for book2 in book2s %}
{% if forloop.first %}
{# 是否是遍历的第一行 #}
<tr style="background: red" >
{% elif forloop.last %}
{# 是否遍历的最后一行#}
<tr style="background: blue">
{% else %}
<tr>
{% endif %}
<td>{{ forloop.counter }}</td>
<td>{{ forloop.counter0 }}</td>
<td>{{ forloop.revcounter }}</td>
<td>{{ forloop.revcounter0 }}</td>
<td>{{ book2.name }}</td>
<td>{{ book2.author }}</td>
<td>{{ book2.price }}</td>
</tr>
{% endfor %} </tbody>
</table> <ul>
{% for comment in comments %}
<li>{{ comment }}</li>
{% empty %}
<li>没有任何评论</li>
{% endfor %} </ul> </body>
</html>

index.html