在该教程中使用locals()只是为了方便,因为他需要传递给模板的所有数据都存储在局部变量中. locals()返回一个包含局部变量名称(作为键)和当前值(作为值)的字典.

如果必须构建数据并且在单独的变量中没有这样的数据,则需要使用显式的context_dictionary,而不是传递locals().

locals()和context_dictionary都是字典,这是唯一的要求:类字典对象(即支持__getitem __(key)和get(key,default = None)方法的对象).如何获得字典,取决于你.没有这方面的做法,但替代方案是:

>如果使用CONTEXT_PROCESSORS,则返回RequestContext(),它是一个类似dict的对象.

>如果您的局部变量中包含数据,则返回locals().

>否则请返回包含数据的手工字典.

编辑 – 示例:

有关自行构建字典的示例:

def my_view(request):

return render_to_response('hello.html', {

'full_name': u"%s %s" % (request.user.first_name, request.user.last_name),

'username': request.user.username

})

从locals()构建字典的示例:

def my_view(request):

full_name = u"%s %s" % (request.user.first_name, request.user.last_name)

username = request.user.username

return render_to_response('hello.html', locals())

假设hello.html是 – 在任何一种情况下:

You are {{ full_name }} ({{ username }})

你会得到预期的结果.

python locals()用法_python – Django使用locals()[复制]相关推荐

  1. python locals()用法_Python locals()用法及代码示例

    locals()Python中的function返回当前本地符号表的字典. 符号表:它是由编译器创建的数据结构,用于存储执行程序所需的所有信息. 本地符号表:该符号表存储了程序本地范围所需的所有信息, ...

  2. python基本用法_Python基本用法总结

    Python 的设计具有很强的可读性,易于使用.这里对python基本用法做一个总结介绍. 一. 变量类型 1. 变量赋值 Python中的变量赋值不需要类型声明,每个变量在使用前都必须赋值,变量赋值 ...

  3. python end用法_python中end的使用方法

    python中end的使用方法 发布时间:2020-06-17 09:47:13 来源:亿速云 阅读:178 这篇文章给大家分享的是有关python中end的使用方法,小编觉得挺实用的,因此分享给大家 ...

  4. python try用法_python中的try的用法

    展开全部 try语句32313133353236313431303231363533e78988e69d8331333431366238是python里面的控制语句,与except,finally配合 ...

  5. python global用法_Python 虚拟环境全知道

    对于每个python项目依赖的库版本都有可能不一样,如果将依赖包都安装到公共环境的话显然是没法进行区分的,甚至是不同的项目使用的python版本都不尽相同,有的用python2.7,有的用python ...

  6. python del用法_python del()函数用法 -电脑资料

    示例程序如下: >>> a = [-1, 3, 'aa', 85] # 定义一个list >>> a [-1, 3, 'aa', 85] >>> ...

  7. python setup用法_python的构建工具setup.py的方法使用示例

    python setup.py怎么写不想跟你说晚安,想挤进你被子里,抱你在怀里,给你一个晚安吻. setup.py是python的自动安装文件; 它的原理是按照命令行的调用方式去执行文件的复制和粘贴; ...

  8. python 切片用法_Python切片用法实例教程

    本文以实例形式讲述了Python中切片操作的用法,分享给大家供大家参考借鉴,具体如下: 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ...

  9. python语言用法_Python语言-Jinja2用法

    本文主要向大家介绍了Python语言-Jinja2用法,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 一:渲染模版要渲染一个模板,通过render_template方法即可.@a ...

最新文章

  1. Robosense 32线lidar ——SLAM
  2. 高斯计磁场测试仪磁力检测仪磁场测磁仪手持磁通计特斯拉计TD8620
  3. 机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型
  4. Linux下的SVN命令
  5. C++学习之路 | PTA乙级—— 1006 换个格式输出整数 (15分)(精简)
  6. windows上配置nginx php,Windows下配置Nginx使之支持PHP
  7. 09花冠钥匙计算机电路图,丰田花冠轿车发动机防盗系统设定
  8. input内强制保留小数点后两位 位数不足时自动补0
  9. MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题
  10. QTP自动化测试从零基础到精通进阶(脚本测试、VBS语法、描述性编程、测试框架)...
  11. 获取SD卡上 未安装 APK文件信息
  12. 一小时学会用Python Socket 开发可并发的FTP服务器
  13. FRM-92120: Registry.dat
  14. docker安装elasticsearch教程
  15. php实现微信公众号群发消息接口(thinkphp3.2.3)
  16. 计算机教师成绩分析总结与反思,2017教师期中考试总结反思
  17. java闰年_编写java程序判断闰年。
  18. Snapchat面经
  19. A New Voyage
  20. dell服务器新bois系统设置u盘启动,dell新版biosU盘启动顺序设置教程

热门文章

  1. 缺少msvcp120.dll、msvcr120.dll解决办法
  2. Middleware 中间件
  3. fabric协议规范
  4. 多普达A6288(HTC G3)手机获取root权限以及删除系统自带软件方法
  5. 静态路由和缺省路由的配置
  6. qB刚刚安装无法下载
  7. QQ无法安装 系统时间问题
  8. 如何克隆虚拟机及修改虚拟机主机名hostname---(非常详细)
  9. python 中的@符号
  10. 在京东,刘强东没有“兄弟” 1