1. 程式人生 > >Django 模板層

Django 模板層

字符數 syntax 翻譯 人性 tran 人性化 field erb pps

模板

一、模板語法之變量

  • {{ comment.create_time|date:"Y-m-d H:i:s" }}
  • {{ bio|truncatewords:"30" }}
  • {{ my_list|first|upper }}
  • {{ name|lower }}
  • {{ forloop.counter }}
  • {{ forloop.first }}
  • {{ forloop.last }}

在 Django 模板中遍歷復雜數據結構的關鍵是句點字符, 語法: {{var_name}}

?
1 2 3 4 5 6 <h4>{{s}}<
/h4> <h4>列表:{{ l.0 }}</h4> <h4>列表:{{ l.2 }}</h4> <h4>字典:{{ dic.name }}</h4> <h4>日期:{{ date.year }}</h4> <h4>類對象列表:{{ person_list.0.name }}</h4>

二、模板之過濾器

語法:{{obj|filter__name:param}}

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 default:如果一個變量是false或者為空,使用給定的默認值。否則,使用變量的值。例如: {{ value|default:"nothing" }} length:返回值的長度。它對字符串和列表都起作用。例如: {{ value|length }} 如果 value 是 [‘a‘, ‘b‘, ‘c‘, ‘d‘],那麽輸出是 4 filesizeformat:將值格式化為一個 “人類可讀的” 文件尺寸 (例如 ‘13 KB‘, ‘4.1 MB‘, ‘102 bytes‘, 等等)。例如: {{ value|filesizeformat }} 如果 value 是
123456789,輸出將會是 117.7 MB。   date:如果 value=datetime.datetime.now() {{ value|date:"Y-m-d" }}   slice:如果 value="hello world" {{ value|slice:"2:-1" }} truncatechars: 如果字符串字符多於指定的字符數量,那麽會被截斷。截斷的字符串將以可翻譯的省略號序列(“...”)結尾。 參數:要截斷的字符數 {{ value|truncatechars:9 }} safe:Django的模板中會對HTML標簽和JS等語法標簽進行自動轉義,這樣是為了安全。如果不希望HTML元素被轉義,可以這樣: value="<a href="">點擊</a>" {{ value|safe}}

這裏簡單介紹一些常用的模板的過濾器,更多詳見

三、模板之標簽