1. 程式人生 > >Django 內置模板標簽和過濾器

Django 內置模板標簽和過濾器

絕對路徑 int 緩存 rst 檢查 子句 etag 沒有 ESS

一、內置模板標簽

語法:{% %}

autoescape :
        是否轉義,on或off作為參數,並確定自動轉義是否在塊內有效。該塊以endautoescape結束
        {% autoescape on %}
            {{ body }}
        {% endautoescape %}

    block : 定義 可以被子模塊覆蓋的塊,具體的參閱Django模板與繼承
    comment :
       忽略comment之間的所有內容
       查看網頁源碼也不會存在

    csrf_token :
        此標記用於csrf保護,具體的參閱Django跨站請求偽造
        用於form表單提交數據的時候
    cycle :

    debug :輸出整個調試信息,包括當前上下文和導入的模塊。
    extends :表示該模板擴展了父模板。
    filter:
        通過一個或多個過濾器過濾塊的內容
        可以通過管道指定多個過濾器
        並且過濾器可以具有參數

    firstof:
        如果輸出的不是第一個變量,值將為False。
        {
% firstof var1 var2 var3 %} 這相當於: {% if var1 %} {{ var1 }} {% elif var2 %} {{ var2 }} {% elif var3 %} {{ var3 }} {% endif %} for: 循環容器中每個項,使每一項都能在上下文變量中可用 可以反向叠代 forloop.counter 循環的當前叠代 for
... empty : 如果給定的容器為空或無法找到,則for標簽可以接受一個可選的子句 <ul> {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% empty %} <li>Sorry, no athletes in this list.</li> {% endfor %}
</ul> if : 所述標簽計算一個變量,並且如果該變量的值使“真”的數據塊的內容被輸出 ifequal 和 ifnotequal : 過時的標簽 ifchanged:檢查一個值是否從循環的最後一次叠代中改變了。 include : 加載模板並使用當前上下文進行渲染。這是在模板中“包含”其他模板的一種方式。 {% include "foo/bar.html" %} {% include template_name %} load:加載自定義模板標記集。 lorem : 隨機顯示“lorem ipsum”拉丁文字。這對於在模板中提供示例數據很有用。 now : 顯示當前日期和/或時間,使用根據給定字符串的格式。 regroup : 用一個共同的屬性重新組合一個類似對象的列表。 resetcycle : spaceless : 刪除HTML標簽之間的空白。這包括制表符和換行符。 templatetag : 輸出用於組成模板標簽的語法字符之一。 url : 返回與給定視圖和可選參數匹配的絕對路徑引用(沒有域名的URL) path(client/<int:id>/, app_views.client, name=app-views-client) 傳參 : {% url app-views-client v1 v2 %} 傳參 : {% url app-views-client arg1=v1 arg2=v2 %} verbatim : 停止模板引擎渲染此塊標記的內容。 widthratio : 為了創建條形圖等,該標簽計算給定值與最大值的比率,然後將該比率應用於常數。 with : 以更簡單的名稱緩存復雜變量。

Django 內置模板標簽和過濾器