模版变量
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是列表/元组索引 - 例子
```python#urls.pyurlpattern = [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)
```html<!-- 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>
- 运行

