django 模板 变量 过滤器
1 示例 2 html代码: 3 <p>{{ num }}</p> 4 <p>{{ name }}</p> 5 <p>{{ namelist.2 }}</p> 6 <p>{{ d1.age }}</p> 7 <p>{{ a.kind }}</p> 8 <p>{{ a.eat }}</p> 9 views.py代码 10 def index(request): 11 num = 100 12 name = 'shige' 13 name_list = ['大壮','小壮','壮壮'] 14 d1 = {'name':'大壮','age':73,'hobby':'xuefei+xiangxi'} 15 16 class Animal: 17 def __init__(self): 18 self.kind = 'dog' 19 def eat(self): 20 return 'shi' 21 a = Animal() 22 23 return render(request,'index.html',{'num':num,'name':name,'namelist':name_list,'d1':d1,'a':a}) 24 return render(request,'index.html',locals()) 25 locals() 获取函数内部所有变量的值,并加工成{'变量名':'变量值'....}这样一个字典
过滤器
内置过滤器
1 <!-- 过滤器 --> 2 <!-- 获取数据长度,没参数 --> 3 <p>{{ name_list|length }}</p> 4 5 <!-- 默认值,有参数,如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。--> 6 <p>{{ xx|default:'啥也没有' }}</p> 7 8 <!-- 将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等) --> 9 <p>{{ movesize|filesizeformat }}</p> 10 <!-- 切片 --> 11 <p>{{ name|slice:':3' }}</p> 12 <!-- 时间格式化显示 --> 13 <p>{{ now|date:'Y-m-d' }}</p> 14 <!-- 字符截断 --> 15 <p>{{ words|truncatechars:'9' }}</p> 16 17 <!-- 单词截断 --> 18 <p>{{ words|truncatewords:'3' }}</p> 19 20 <!-- 移除value中所有的与给出的变量相同的字符串 --> 21 <p>{{ words|cut:'i' }}</p> 22 23 <!-- 使用字符串连接列表,{{ list|join:', ' }},就像Python的str.join(list) --> 24 <p>{{ name_list|join:'+' }}</p> 25 26 <!-- 将 字符串识别成标签--> 27 <p>{{ tag|safe }}</p>