Django(四)模板文件中的循環
阿新 • • 發佈:2017-12-23
頭部 模板 doctype shortcuts ret response log title render
編輯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
也是可以用的參數。替換前,它是列表才行。
Django(四)模板文件中的循環