栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Django中render的context和locals()区别以及用法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django中render的context和locals()区别以及用法

context
  • context是render的参数,用于对模板上下文(模板变量)赋值,以字典格式表示,默认情况下是一个空字典。
  • index的views.py
def index(request):
    value = {"title": "Hello MyDjango", "content": "This is MyDjango"}
    return render(request, 'index.html', context=value)
  • templates的index.html



{{ 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())
  • templates的index.html



{{ title.key }}

{{ content.key }}
  • 使用locals()时,视图函数所定义的变量名一定要与模版文件的上下文(变量名)相同才能生效。并且模板文件中的模板上下文的写法要改变,由使用context参数时的 {{title}}变为{{title.key}}。
  • 运行结果如下图所示:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1040778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号