Django 基礎二
一 模版
一模版的組成
HTML代碼+邏輯控制代碼
二 邏輯控制代碼的組成
1 變量(使用雙大括號來引用變量)
{{var_name}}
2 標簽(tag)的使用(使用大括號和百分比的組合來表示使用tag)
{%load staticfiles%}
3 過濾器(filter)的使用
{{ship_date|date:"Fj,Y"}},ship_date變量傳給data過濾器,date過濾器通過使用"FJ,Y"這幾個參數來格式化日期數據。"|"代表類似Unix命令中的管道操作。
三 常用標簽
1 {%if%} 的使用
可以使用你的and,or,not來組織的邏輯。但不允許and和or同時出現在條件語句中。新版本中已經支持了 {%elif%} 這樣的用法。
2 {% for %}的使用
用來循環一個序列, 還可以使用reserser關鍵字來進行倒序遍歷,一般可以先用if語句判斷序列是否為空,再進行遍歷;還可以使用empty關鍵字來進行為空時的跳轉
3 {%csrf_token%}
用於生成csrf_token的標簽,用於防治跨站攻擊驗證。
註意如果你在view的index裏用的是render_to_response方法,此時標簽由於沒有上下文的關系所以沒有效果,需要:
或者直接使用render。
其實,這裏是會生成一個input標簽,和其他表單標簽一起提交給後臺的。
4 {% load %}: 加載標簽庫
5 {% url %}: 引用路由配置的地址
6 {% with %}:用更簡單的變量名替代復雜的變量名
7 {% verbatim %}: 禁止render
{% verbatim %}
{{ hello }}
{% endverbatim %}
四 常用過濾器
1 add : 給變量加上相應的值
2 addslashes: 給變量中的引號前加上斜線
3 capfirst : 首字母大寫
4 cut : 從字符串中移除指定的字符
5 date : 格式化日期字符串
6 default : 如果值是False,就替換成設置的默認值,否則就是用本來的值
7 default_if_none:如果值是None,就替換成設置的默認值,否則就使用本來的值
五 模版的包含和繼承
包含:{% include %} 允許在模版中包含其他模版的內容。