您好,登錄后才能下訂單哦!
使用環境:同上一篇django文章。
啟動web服務:
cd py3/django-test1/test4
python manage.py runserver 192.168.255.70:8000
一、先演示在html模板中使用for標簽循環:
編輯視圖:
vim bookshop/views.py from django.shortcuts import render from .models import * #查詢一個值 #def index(request): # hero = HeroInfo.objects.get(pk=1) #查詢主鍵(pk)=1的條目 # context = {'hero':hero} # return render(request,'bookshop/index.html',context) #查詢多個值,在html模板中循環 def index(request): list = HeroInfo.objects.filter(isDelete=False) context = {'list1':list} return render(request,'bookshop/index.html',context)
編輯html模板:
vim templates/bookshop/index.html <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> {{ hero.hname }}<br> {{hero.showname}} <hr> <ul> {% for hero in list1 %} <!--使用{{% for .. in ...%}}....{% endfor %}循環django傳遞過來的list1上下文對象,{{ forloop.counter }}是顯示循環的第幾次--> <li>{{forloop.counter }}: {{ hero.showname }}</li> <!-- #點號解析順序:<br> #1.先把hero作為字典,showname為鍵查找<br> #2.再把hero作為對象,showname為屬性或方法查找<br> #3.最后把hero作為列表,showname為索引查找<br> --> <!--{% empty %}是在視圖函數中list = HeroInfo.objects.filter(isDelete=True)時,查詢不存在的數據才顯示的內容--> {% empty %} <li>沒找到任何符合是數據!</li> {% endfor %} </ul> </body> </html>
瀏覽器訪問:http://192.168.255.70:8000/
顯示:
二、演示在html模板中使用if標簽判斷、注釋、過濾器
僅修改html模板即可:
vim templates/bookshop/index.html <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> {# 這是單行注釋 #} {% comment %} 這是 多行 注釋 {% endcomment %} <ul> {% for hero in list1 %} <!--使用{% if %}判斷,循環出的結果中,奇數行字體顯示為藍色,偶數行為紅色--> {% if forloop.counter|divisibleby:"2" %} <!--除2運算使用過濾器(即|)--> <li style="color:red">{{forloop.counter }}: {{ hero.showname }}</li> {% else %} <li style="color:blue">{{forloop.counter }}: {{ hero.showname }}</li> {% endif %} {% empty %} <li>沒找到任何符合是數據!</li> {% endfor %} </ul> </body> </html>
瀏覽器訪問:http://192.168.255.70:8000/
顯示:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。