`
54yuri
  • 浏览: 27453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

locals() 在django当中的一处妙用

阅读更多
从django的manual 当中看到的

def current_datetime(request):
    now = datetime.datetime.now()
    return render_to_response('current_datetime.html', {'current_date': now})


很多时候,就像在这个范例中那样,你发现自己一直在计算某个变量,保存结果到变量中
(比如:前面代码中的 now ),然后将这些变量发送给模板。特别懒的程序员可能注意到给
这些临时变量 和 模板变量命名显得有点多余。不但多余,而且还要进行额外的键盘输入。
如果你是个喜欢偷懒的程序员并想让代码看起来更加简明,可以利用 Python 的内建函数
locals() 。它返回的字典对所有局部变量的名称与值进行映射。因此,前面的视图可以重写
成下面这个样子:
def current_datetime(request):
    current_date = datetime.datetime.now()
    return render_to_response('current_datetime.html', locals())






而且,虽然locals()返回的是一份拷贝,但是依然可以往里面赋值,就像使用map一样,

l = locals()

l["x"] = 111

l["y"] = 222



尽管不能print x,print y, 但是

需要的时候调用那个假的x,或者y的时候, 写上locals()就行比如print locals(),就能看到x,y了
分享到:
评论

相关推荐

    Django中使用locals()函数的技巧

    主要介绍了Django中使用locals()函数的技巧,Django是Python重多高人气框架中最为著名的一个,需要的朋友可以参考下

    详解Django中views数据查询使用locals()函数进行优化

    主要介绍了Django中views数据查询使用locals()函数进行优化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Django验证码库DjangoCaptcha.zip

    在django中生成英文单词验证码,提供验证码图片生成,检查验证码等功能 原用于pythoner.net的验证码,现整理出来打包发布到pypi. 新特性 新增数字验证码模式 字体尺寸根据图片长宽自适应 Usage Install pip...

    flake8-django:一个flake8插件,用于检测Django项目上的不良做法

    一个flake8插件,用于检测Django项目上的不良做法。 安装 通过以下方式从pip安装: $ pip install flake8-django 测验 flake8-django使用pytest进行测试。 要运行它们,请使用: $ pytest 使用以下内容生成覆盖率...

    koa-locals:[DEPRECATED] koa 局部变量中间件,支持模板在应用中渲染的应用局部变量

    请使用this.state代替this.locals ,兴亚添加this.state从开始0.14.0 。 用法 安装 npm install koa-locals 应用程序接口 require ( 'koa-locals' ) ( app , locals ) ; this.locals 或 this.response.locals ...

    对DJango视图(views)和模版(templates)的使用详解

    Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 注意:只匹配路径部分,即除去域名、参数后的字符串 在test1/urls.py插入booktest,使主urlconf连接到booktest.urls模块 视图代码 # views.py ...

    django-kungfu

    这个想法是在我使用实现的漂亮配置系统一段时间后产生的。 实际上,大多数代码都是由位于的Flask实现启发的。用法示例与您的Django项目的集成非常容易,并且取决于您的偏好。 一种可能的设置如下所示: # At the ...

    dcef3中exe下面需要的locals文件

    dcef3中exe文件夹下面需要的locals文件 没有这个 会报错

    ;session.save_path = CDOCUME~1ADMINI~1LOCALS~1Temp

    session.save_path = CDOCUME~1ADMINI~1LOCALS~1Temp 配置mantis bug跟踪系统 出现的错误信息C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp找不到 session.save_path = "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp" Warning: ...

    locals_10.unity3d

    locals_10.unity3d

    Django csrf 两种方法设置form的实例

    第一种方法,在视图函数上边添加一条语句 @csrf_exempt 例子: @csrf_exempt def login(request): return render_to_response('app/login.html', locals()) 上边的方法是取消csrf的防御机制。 第二种方法,给出...

    express-locals:为每个请求将属性混合到 `res.locals` 对象中

    快递当地人为每个请求将属性混合到res.locals对象中用法 app . get ( '/my-route', require ( 'express-locals' ) ( { hello : 'world' , objects : [ { a : 1 } , { a : 2 } , a : 3 } ] } ), function ( req , res...

    详解Python locals()的陷阱

    在工作中, 有时候会遇到一种情况: 动态地进行变量赋值, 不管是局部变量还是全局变量, 在我们绞尽脑汁的时候, Python已经为我们解决了这个问题. Python的命名空间通过一种字典的形式来体现, 而具体到函数也就是locals...

    Python神奇的内置函数locals的实例讲解.pdf

    Python神奇的内置函数locals的实例讲解

    Python神奇的内置函数locals的实例讲解

    今天小编就为大家分享一篇关于Python神奇的内置函数locals的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Locals:NodeJS 的本地化中间件

    #USING 要在您的应用程序或模块中使用本地变量,您可以使用以下 javascript 示例: var locals = require ( 'locals' ) ( { localsdir : "../locals" , baselanguage : "en" } ) ; locals . init ( function ( ...

Global site tag (gtag.js) - Google Analytics