Django經常使用模板標籤及過濾器

目錄html

  • 一 模板的組成
  • 二 邏輯控制代碼的組成
    • 變量使用雙大括號來引用變量
    • 標籤tag的使用使用大括號和百分號組成來表示使用tag
    • 過濾器filter的使用
  • 三 經常使用標籤tag
    • if
    • ifequal 和 ifnotequal
    • for
    • cycle
    • 註釋
    • csrf_token
    • debug
    • filter
    • autoescape
    • firstof
    • load
    • now
    • spaceless
    • url
    • verbatim
    • with

  • 四 經常使用過濾器filter
    • add
    • addslashes
    • capfirst
    • cut
    • date
    • default
    • default_if_none
    • dictsort
    • dictsorted
    • divisbleby
    • escape
    • escapejs
    • filesizeformat
    • first
    • last
    • floatformat
    • length
    • length_is
    • urlencode
    • upperlower
    • safe
    • slice
    • time
    • timesince
    • truncatechars
    • turncatewords
    • striptags

  • 五 文檔

一 模板的組成

  • HTML代碼+邏輯控制代碼

二 邏輯控制代碼的組成

1 變量(使用雙大括號來引用變量)

{{ var_name }}

2 標籤(tag)的使用(使用大括號和百分號組成來表示使用tag)

{% load staticfiles %}

3 過濾器(filter)的使用

{{ ship_date|date:"Fj,Y"}}
  • ship_date變量傳給data過濾器,data過濾器經過使用Fj,Y這幾個參數來格式化數據。|表明相似Unix命令中的管道操做。

三 經常使用標籤(tag)

1 {% if %}

  • 可使用and,or,not來組織你的邏輯,但不容許and和or同時出現的條件語句中。新版本已經支持{% elif %}這樣的用法

2 {% ifequal %}{% ifnotequal %}

  • 比較是否相等,只限於簡單的類型,好比字符串、整數、小數的比較,列表、字典、元組不支持。

3 {% for %}

  • 用來循環一個list,還可使用reserved關鍵字來進行倒序遍歷,通常能夠用if語句來西先判斷一下列表是否爲空,在進行遍歷;還可使用empty關鍵字來進行爲空時候的跳轉。python

  • **for標籤中可使用forloopdjango

forloop.counter: 當前循環計數,從1開始
forloop.counter0: 當前循環計數,從0開始
forloop.recounter: 當前循環倒數計數,從列表長度開始
forloop.recounter0: 當前循環倒數計數,從列表長度減1開始,標準
forloop.first: bool值,判斷是否是循環的第一個元素
forloop.last: bool值,判斷是否是循環的最後一個元素
forloop.parentloop: 用在嵌套循環中,獲得parent循環的引用,而後可使用以上參數

4 {% cycle %}

  • 在循環是輪流使用給定的字符串列表中的值。

5 註釋

  • {# #}單行註釋,{% comment %}多行註釋

6 {% csrf_token %}

  • 生成csrf_token的標籤,用於防止跨站攻擊驗證

7 {% debug %}

  • 調用調試信息

8 {% filter %}

  • 將filter標籤標籤圈定的執行過濾器操做

9 {% autoescape %}

  • 自動轉義設置
{{% autoescape off %}}
{{ value}}
{{% endautoescape %}}

10 {% firstof %}

  • 輸出第一個值不等於False的變量

11 {% load %}

  • 加載標籤庫

12 {% now %}

  • 獲取當前的時間

13 {% spaceless %}

  • 移除空格

14 {% url %}

  • 引入路由配置的地址

15 {% verbatim %}

  • 禁止render

16 {% with %}

  • 用更簡單的變量名緩存複製的變量名

四 經常使用過濾器(filter)

  • 常常使用的是經過變量來調用過濾器)

1 add

  • 給變量加上相應的值
{{ value|add:"2" }}     # 空格不要亂加

2 addslashes

  • 給變量中的引號(雙引號、單引號)前加上斜線

3 capfirst

  • 首字母大寫

4 cut

  • 從字符串中移除指定的字符
{{ value|cut:" " }}

5 date

  • 格式化日期字符串

6 default

  • 若是值是False,就替換成設置的默認值,不然就使用原本的值(空字符串」「、空列表[]、空字典{}、空元組()、None在python裏也是False)

7 default_if_none

  • 若是隻是None,就替換成設置的默認值,不然就使用原本的值

8 dictsort

  • 按照設定的參數(key)對應的value對列表進行排序

9 dictsorted

  • 和上面剛好相反

10 divisbleby

  • 是否可以被某個數字整除,是的話返回True,不然返回False

11 escape

  • 對字符串進行轉義。django默認自動轉義,若是咱們關閉了自動轉義,這可以使用escape過濾器來轉義。

12 escapejs

  • 替換value中的某些字符,以適應JAVASCRIPT和JSON格式

13 filesizeformat

  • 格式化文件大小顯示

14 first

  • 返回列表中的第一個值

15 last

  • 返回列表中的最後一個值

16 floatformat

  • 格式化浮點數

17 length

  • 求字符串或者列表的長度

18 length_is

  • 比較字符串或者列表的長度

19 urlencode

  • 對URL進行編碼處理

20 upper\lower

  • 大寫\小寫

21 safe

  • 對某個變量關閉自動轉義
{{ value|safe }}

22 slice

  • 切片操做
{{ some_list|slice:":2" }}

23 time

  • 格式化時間

24 timesince

  • 格式化時間(e.g. 「4 days,6 hours」)

25 truncatechars

  • 按照字符截取字符串
{{ value|truncatechars:5 }}

26 turncatewords

  • 按照單詞截取字符串(其實就是按照空格來截取)

27 striptags

  • 過濾掉html標籤

五 文檔

官方文檔https://docs.djangoproject.com/en/2.0/ref/templates/builtins/
緩存

相關文章
相關標籤/搜索