context
- context是render的参数,用于对模板上下文(模板变量)赋值,以字典格式表示,默认情况下是一个空字典。
- index的views.py
def index(request):
value = {"title": "Hello MyDjango", "content": "This is MyDjango"}
return render(request, 'index.html', context=value)
{{ title }}
{{ content }}
- 使用context参数时,模板上下文(变量)的命名必须与变量value的数据命名(字典的key)相同,这样才能将数据与模板上下文进行配对。即html文件中的{{ title }}、{{ content }}与视图函数中的value = {“title”: “Hello MyDjango”, “content”: “This is MyDjango”}的“title"、"content"一一对应。
- 运行结果如下图所示:
locals()
- 如果变量很多时,设置参数context时会非常冗余,不利于日后的维护和更新。
- index的views.py
def index(request):
title = {'key': 'Hello MyDjango'}
content = {'key': 'This is MyDjango'}
return render(request, 'index.html', locals())
{{ title.key }}
{{ content.key }}
- 使用locals()时,视图函数所定义的变量名一定要与模版文件的上下文(变量名)相同才能生效。并且模板文件中的模板上下文的写法要改变,由使用context参数时的 {{title}}变为{{title.key}}。
- 运行结果如下图所示: