Django筆記-6-模板
阿新 • • 發佈:2019-06-01
定義模板
變數
-
檢視傳遞給模板的資料
-
要遵守識別符號規則
-
語法
{{ var }}
注意: 如果使用的變數不存在, 則插入的為空字串
-
在模板中使用.方法
- 字典查詢
- 屬性或者方法
- 數字索引
-
在模板中呼叫物件的方法
注意: 在模板中不能傳遞引數
標籤
-
語法
{% tag %}
-
作用
-
在出輸出中建立文字
-
控制邏輯和迴圈
-
-
if
格式:
{% if 表示式%} 語句1 {% elif 表示式%} 語句2 {% else %} 語句n {% endif %}
-
for
格式:
{% for 變數 in 列表 %} 語句 {% endfor %}
{% for 變數 in 列表 %} 語句1 {% empty %} # 列表為空或者不存在時執行語句2 語句2 {% endfor %}
示例:
<ul> {% for stu in students %} <li> {{forloop.counter}}--{{stu.name}}--{{stu.grade}} </li> {% empty %} <li>目前沒有學生</li> {% endfor %}
-
comment
格式:
{% comment %} 註釋的內容:可多行 {%endcomment%}
-
ifequual/ifnotequal
作用:判斷是否相等或者不等
格式:
{% ifequal 值1 值2 %} # 如果值1等於值2, 則執行語句 語句 {% endifequal %} ```
-
include
作用: 載入模板並以標籤內的引數渲染
格式:
{% include 模板目錄 引數1 引數2 %}
-
url
作用: 反向解析
格式:
{% url 'namspacename' p1 p2 %}
-
csrf_token
作用: 用於跨站請求偽造保護
格式:
{% crsf_token %}
-
block/extends
作用: 用於模板的繼承
-
autoescape
作用: 用於HTML轉義
過濾器
語法:
{{ var|過濾器 }}
作用:
在變數被顯示前修改
* lower
* upper
示例:
<h1> {{ str|upper}} </h1>
過濾器可以傳遞引數, 引數用引號引起來
- join:
<h1>
{{list|join"#"}}
</h1>
如果一個變數沒有被提供, 或者值為False/空, 可以使用預設值.
- default
格式:
<h1>
{{ test|default="沒有"}}
</h1>
根據給定格式轉換日期為字串
-
date
格式:
{{ dateVal|date:'y-m-d' }}
-
HTML轉義
escape
-
加減乘除
<h1>num = {{ num|add:10 }}</h1> <h1>num = {{ num|add:-5 }}</h1> <h1>num = {{% widthratio num 1 5% }}</h1> <h1>num = {{% widthratio num 5 1% }}</h1>
註釋
- 單行註釋
{# 註釋內容 }