Django 模板高階

2022-03-30 00:33:00 字數 2889 閱讀 1617

這節主要講django 模板中的迴圈,條件判斷,常用的標籤,過濾器的使用

如果需要將乙個或多個變數共享給多個網頁或所有網頁使用,比如在網頁上顯示來訪者 ip ,這個用 django 上下文渲染器來做

view.py

# -*- coding: utf-8 -*-

from django.shortcuts import render

def home(request):

string = u"我在自強學堂學習django,用它來建**"

return render(request, 'home.html', )

在檢視中我們傳遞了乙個字串名稱是string到模板home.html

home.html

# 在模板中使用

}

views.py

def home(request):

tutorialist = ["html","css","jquery","python","django"]

return render(requset,'home.html',)

在檢視中我們傳遞了乙個list到模板home.html

home.html

}

for迴圈需要乙個結束標記

簡單總結一下,一般的變數之類的用 },功能類的,比如迴圈,條件判斷使用

views.py

def home(request):

info_dict =

return render(request,'home.html',)

home.html

}

}

在模板中取字典的鍵是info_site.site而不是 python 中的info_dict['site']

還可以遍歷字典

}:}

view.py

def home(request):

list = map(str,range(100)) # 乙個長度為 100 的list

return render(request,'home.html',)

假如想用逗號把這些元素連線起來

home.html

},

會發現在最後乙個元素的後面也有乙個逗號

forloop.last這個變數,如果是最後一項則為真,否則為假

},

for迴圈中還有很多有用的東西

變數描述

forloop.conuter

索引從 1 開始計算

forloop.counter0

索引從 0 開始計算

forloop.revconter

索引從最大長度到 1

forloop.revconter0

索引從最大長度到 0

forloop.first

當遍歷的元素的第一項為真

forloop.last

當遍歷的元素為最後一項為真

forloop.parentloop

用在巢狀的 for 迴圈中,獲取上一層 for 迴圈的 forloop

== , != , >= , <= , > , <這些比較都可以在模板中使用,比如

good

all right

work hard

and,or,not,in,not in也可以在模板中使用

# 判斷 num 是不是在 0 到 100 之間

right

wrong

# 判斷元素是不是在列表裡

right

修改setting.py

templates = [,},

]

然後就可以在模板中使用 request 了

# 獲取當前使用者

}# 如果登陸就顯示內容,不登陸就不顯示內容:

},您好!

請登陸,這裡放登陸鏈結

# 獲取當前**

}# 獲取當前 get 引數

}# 例子

新增delete

django 高階 模板

模板概述 django處理模板分為兩個階段 檢視呼叫模板 呼叫模板分為三步驟 開啟booktst views.py檔案,呼叫上面定義的模板檔案 from django.http import httpresponsefrom django.template import loader,request...

django 模板高階

1.語法 1.1.for迴圈 forloop.counter 從1開始 forloop.counter0 從0開始 forloop.revcounter 倒序到1 forloop.revcounter0 倒序到0 forloop.first 第一次迴圈出的結果為true 其他為flase forlo...

Django 模板高階

模板變數的解析順序 例如 1 首先把book當成乙個字典,把btitle當成鍵名,進行取值book btitle 2 把book當成乙個物件,把btilte當成屬性,進行取值book.btitle 3 把book當成乙個物件,把btitle當成物件的方法,進行取值book.btitle 例如 1 首...