模板笔记借鉴了知了课堂-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]}}访问- 所以不能将字典的键设置为
keysvaluesitems其中一种,会覆盖dict.keysdict.valuesdict.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> -
运行