Django 內置模板標簽和過濾器
阿新 • • 發佈:2018-05-27
絕對路徑 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 內置模板標簽和過濾器