模版语法的深度查询(.)
views.py
def index(request):
name = 'name'
lis = [1,2,3,4,5,6]
dic = {"name":"wualin","age":21}
class Person(object):
def __init__(self,name,age):
self.name = name
self.age = age
alex = Person("alex",19)
egon = Person("egon",22)
person_list = [alex,egon]
return render(request,'index.html',locals())
index.html
<body>
<p>WelCome</p>
<hr>
<p>普通查询</p>
<p>{{ name }}</p>
<p>{{ lis }}</p>
<p>{{ dic }}</p>
<p>{{ alex }}</p>
<p>{{ egon }}</p>
<p>{{ person_list }}</p>
<hr>
<p>深度查询</p>
<p>{{ lis.1 }}</p>
<p>{{ dic.name }}</p>
<p>{{ alex.name }}</p>
<p>{{ person_list.1.name }}</p>
</body>
模版语法的过滤器
语法
#第一个参数是返回的参数,第二个参数是过滤器,第三个是可选参数,如果过滤器需要参数则使用:分割
{{ obj|filter_name:param}}
- default
如果一个变量是false或者为空,使用给定的默认值,否则使用变量的值
{{ value|default:"nothing"
- length
返回值的长度,对字符串和列表都起作用
{{ value|length }}
- filesizeformat
将值格式化为一个人类可以读的文件尺寸
{{ value|filesizeformat }}
- date
如果value=datetime.datetime.now()
{{ value|date:"Y-m-d" }}
- slice
对字符串进行切片,例如:value = "hello world"
{{ value|slice:"2:-1" }}
- truncatechars、truncatewords
- truncatechars按字符截断
- truncatewords按字母截断
<p>{{ text|truncatewords:9 }}</p>
- safe
告诉Django这个数据是安全的,可以使用浏览器进行渲染,不需要进行转义,例如link = "click"
{{ link|safe }}
- add
加法运算,例如value=1,在浏览器中渲染出来的是101
{{ value|add:100 }}
- upper
转大写
{{ value|upper }}