django 模板系統 有很多標簽,其中cycle我覺得不好理解,至少網上文檔也不好理解。
這些標簽可以通過渲染模板文件而獲得我們預期的效果和文字,常用的有如下這些標簽:
標簽:{% 標簽名 %}
{% if 變量 %} 支持not or and,空對象空的玩意0默認為False
{% else %}
{% endif %}
{% for x in 變量名 %} for 的forloop變量,有如下:counter,counter0,revcounter,revcounter0,first,last,parentloop
{% empty %}
{% endfor %}
{% ifequal 變量一 變量二 %}
{% else %}
{% endifequal %}
python的字典,列表,布爾,不能作為模板的比較量
{% ifnotequal %}
{% else %}
{% endifnotequal %}
過濾器:
用管道符,first(取得第一個字符),lower,upper,truncatewords(顯示變量的前三十個詞)
addslashes(添加反斜杠到,任何反斜杠,單引和雙引號),length(長度,個數)
data(格式化datatime對象,例子:{{ pub_data|data:"F j,Y" }})
過濾器,看附錄F
有參數的話直接冒號接參數,如:“參數”
{% block %}
{% endblock %}
{% comment %}
{% endcomment %}
{% crsf_taken %}
防止crsf攻擊
{% autoescape off%}{% endautoescape %}關閉自動轉義,django默認會對傳入模板的特殊符號進行轉義,為了安全起見
一、多層嵌套
Django Python Template Nested List using For Loop
How to iterate over nested dictionaries in django templates
Nested for loop in Django Template not able to loop through a dictionary item
Nested loop in Django template
二、創建動態的template name動態鏈接
How to concatenate strings in django templates?
三、multiple filter in template
How to apply multiple filters on a Django template variable?