08 Django 模板進階

本節主要講 Django模板中的循環,條件判斷,經常使用的標籤,過濾器的使用

  1. 列表,字典,類的實例的使用html

  2. 循環:迭代顯示列表,字典等中的內容django

  3. 條件判斷:判斷是否顯示該內容,好比判斷是手機訪問,仍是電腦訪問,給出不同的代碼。oop

  4. 標籤:for,if 這樣的功能都是標籤。學習

  5. 過濾器:管道符號後面的功能,好比{{ var|length }},求變量長度的 length 就是一個過濾器。

 

若是須要將一個或多個變量共享給多個網頁或者全部網頁使用,好比在網頁上顯示來訪者的IP,這個可使用 Django 上下文渲染器 來作。spa

實例1、顯示一個基本的字符串在網頁上code

實例2、講解了基本的 for 循環 和 List內容的顯示htm

實例3、顯示字典中內容blog

實例4、在模板進行 條件判斷和 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): # 一、顯示一個基本的字符串在網頁上
    string = '我在自強學院學習Django教程,很是感謝做者的無私奉獻!'
    # 二、基本的 for 循環 和 List內容的顯示
    TutorialList = ['HTML','CSS','jQuery','Python','Django'] # 三、顯示字典中的內容
    info_dic = {'site':'自強學堂','content':'各類IT技術教程'} # 四、條件判斷和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>
相關文章
相關標籤/搜索