模板變數,過濾器和靜態檔案引用

2022-09-04 03:12:11 字數 1492 閱讀 9299

1模板路徑的查詢

***只要找到乙個符號的模板,就返回結果

2模板變數

靜態頁面:內容絕對的,不隨著時間的改變而改變,不隨著客戶端的變化而變化。

動態頁面:內容隨著時間,隨著不同的訪問者出現不同的變化,有互動。

渲染模板變數

——語法

——命名

***不能以下劃線開頭,不能有空格,不要數字開頭,不能以python,django關鍵字開頭

***變數的值可以是任何資料型別

變數解析規則

——1.計算變數,將其替換為結果

——2.遇到點(.)的時候,按以下順序查詢

——2.1字典鍵值查詢

——2.2屬性或方法查詢

——2.3數字索引查詢

——3.如果結果是可呼叫的,則呼叫它時不帶引數,呼叫的結果成為模板的值

*****渲染失敗返回' '

3模板過濾器 filter

常用模板過濾器

add 將引數與值相加 首先嘗試轉換成整數相加,失敗,則嘗試所有可能,字串,列表等。}

capfirst 首字母大寫,如果第乙個字母不是字母則不起作用。}

date 日期格式化 }

time 時間格式化 } 格式化格式見官方文件:

default 如果變數解析失敗,使用給定的預設值。}(注意如果value是''空字串,輸出將會是'nothing')

first 返回列表的第乙個元素 }

last 返回列表的最有乙個元素 }

slice 返回乙個列表的切片 }

join 連線字串列表 與str.join(list)一樣 }

floatformat 浮點數格式化 不指定小數字引數,預設保留乙個為小數

value template output

34.23234 } 34.2

34.23234 } 34.232

length 返回字串或列表的長度

length_is 判斷字串或列表長度是否指定的值,相等返回ture

lower 字串中的字母都變小寫}

upper 字串中的字母都變大寫}

safe 關閉變數的自動轉義,使html標籤生效}

title 標題化,首字母大寫 }

xss跨域指令碼攻擊

用safe 關閉變數的自動轉義,使html標籤生效}

靜態檔案

——css

——js

1:路徑配置:

專案根目錄crm/crm——setting下:

static_url = '/static/'

staticfiles_dirs = [os.path.join(base_dir, 'static')]

專案根目錄crm/static(資料夾)

css(資料夾)

img(資料夾)

js(資料夾)

2:靜態檔案的引入

2-1:硬編碼,通過static_url

2-2:模板標籤

模版變數 過濾器 靜態檔案引入

模板設定1 templates 2 14 15 4 django.contrib.admin 5 django.contrib.auth 6 django.contrib.contenttypes 7 django.contrib.sessions 8 django.contrib.messages...

jinja2變數過濾器

django和flask框架中都使用了jinja2模板引擎來渲染模板,通過後端向模板中傳遞變數,通過過濾器可以修改這些變數,過濾器新增在變數名之後,中間使用豎線分割。例如 把值的首字母轉換為大寫,其他字母轉換為小寫 下表列出jinjia2部分的常用過濾器 過濾器說明 safe 渲染時不轉義 capi...

模板變數及模板過濾器

模板標籤 常用的標籤 模板標籤的例子 以if for為例 模板的繼承與應用 django的強大在於模板的繼承。模板繼承可以讓你建立乙個基本的 股架 模板,它包含站點中全部的元素,並且可以定義能夠被子模版覆蓋的block。模板的繼承的例子 base.html 這個作為模板繼承頁 index.html在...