Django2.0-templates(2)-模版变量
模板笔记借鉴了知了课堂-Django开发
模版变量
-
render(request, templates.html, context=dict_variable)
使用的时候需要给context
赋值一个dict
变量- 假设该
dict
变量是d
,它的键是kk
,kk
对应的值是vv
- 假设该
-
将这个
kk
放到模板中,格式是{{ kk }}
,render执行的时候就会将kk
替换成vv
-
如果想要访问对象的属性,也就是
kk
是一个类的实例,那么可以通过kk.属性名
来访问 -
如果
vv
是一个字典,想要访问他的key:subkey
对应的value:subvalue
,只能通过{{kk.subkey}}
,不能通过{{kk[subkey]}}
访问- 所以不能将字典的键设置为
keys
values
items
其中一种,会覆盖dict.keys
dict.values
dict.value
属性
- 所以不能将字典的键设置为
-
如果想要访问列表或者元组,通过
kk.index
和即可进行访问,不能通过kk[index]
进行访问,其中index
是列表/元组索引 -
例子
#urls.py urlpattern = [ path('templates/', v.url_templates), ]
#urls.py class Person(object): def __init__(self, name): self.name = name return p = Person("Lee") d = { "param": "jack", # 该key对应一个str "person": p, # 该key对应一个实例对象 "dict": { # 该key对应一个字典 "index1": 1, "index2": 2, }, "dict_change": { # 该key对应一个字典,这个字典的键全部都用了dict的内置函数名 "keys": "dict.keys has changed", "values": "dict.values has changed", "items": "dict.items has changed", }, "list": [ # 该key对应一个list,tuple同理 "list1", "list2", ], } def url_templates(request): return render(request, "index.html", context=d)
<!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {{ param }} <br><br> {{ person.name }} <br><br> {{ dict.index1 }} <br> {{ dict.keys }} <br> {{ dict.values }} <br> {{ dict.items }} <br><br> {{ dict_change.keys }} <br> {{ dict_change.values }} <br> {{ dict_change.items }} <br><br> {{ list.0 }} <br> </body> </html>
-
运行