1. 程式人生 > >Django學習【第3篇】:Django之模板語法

Django學習【第3篇】:Django之模板語法

開始 切片 byte 當前 tag targe you 過濾 per

Django框架之第三篇模板語法(重要!!!)

一、什麽是模板?

只要是在html裏面有模板語法就不是html文件了,這樣的文件就叫做模板。

二、模板語法分類

一、模板語法之變量:語法為 {{ }}:

在 Django 模板中遍歷復雜數據結構的關鍵是句點字符 .(也就是點)

views.py

技術分享圖片
def index(request):
    name = "hello haiyan"
    i = 200
    l = [11,22,33,44,55]
    d = {"name":"haiyan","age":20}

    class People(object): #繼承元類
        def __init__(self,name,age):
            self.name = name
            self.age = age
        def __str__(self):
            return self.name+str(self.age)
        def dream(self):
            return "你有夢想嗎?"
    #實例化
    person_egon = People("egon",10)
    person_dada = People("dada",34)
    person_susan = People("susan",34)
    person_list = [person_dada,person_egon,person_susan]

    return render(request,"index.html",
                    {
                        "name":name,
                        "i":i,
                        "l":l,
                        "d":d,  #鍵對應的是模板裏的名字。值對應的是上面定義的變量
                        "person_egon":person_egon,
                        "person_dada":person_dada,
                        "person_list":person_list,
                    }
              )
    # return render(request,"index.html",locals())
    #用locals()可以不用寫上面的render了。不過用locals(),views裏面用什麽名。模板裏面就得用什麽名
    # locals()局部的:用了locals就相當於都得按照上面的那樣
技術分享圖片

template/index.html

技術分享圖片
<h4>變量{{ z }}:深度查詢</h4><hr>
<h3>{{ name }}</h3>
<p>{{ i }}</p>
<p>{{ l }}</p>
<p>{{ d }}</p>
<p>{{ l.0 }}------》取單個值可通過句點符(也就是點)</p>
<p>{{ l.4 }}</p>
<p>{{ d.name }}</p>
<p>{{ d.age }}-----》字典也可以根據句點符取值,一個點就搞定了。
然而在前端頁面中是看不到你的模板語法的,當你點擊審查元素的
時候,你就會發現,偷偷的換過來了</p>
<p>{{ person_dada.name }}</p>
<p>{{ person_egon.age }}</p>
<p>{{ person_dada.dream }}</p>  <!-- .方法的時候,註意當前的dream方法是沒有參數的-->
<p>{{ person_list.2 }}</p>  <!--單個取值-->
<p>{{ person_list.1.name }}</p>
<!-- 那怎麽讓對象變成字符串呢?在index視圖函數裏裏面再加上一個__str__內置方法-->
<!--__str__是對象字符串的改變-->
技術分享圖片

註意:句點符也可以用來引用對象的方法(無參數方法)。

<h4>字典:{{ dic.name.upper }}</h4>

二、模板語法之標簽:語法為 {% tag %}: