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

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

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

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

对current_datetime 的一次赋值操作:

def current_datetime(request):
    now = datetime.datetime.now()
    return render(request, "current_datetime.html", {"current_datetime": now})

很多时候,就像上面的代码一样,你会觉得自己是在计算某个变量,保存结果到变量中,比如前的的now,就是进行赋值后在传送到模板中。其中喜欢偷懒的程序员就会注意到,不断地编写临时变量的临时模板命名有一些多余。不仅是多余,而且还需要额外的输入。

如果你是个喜欢偷懒的程序员并且想让代码看起来更加简洁明了,可以利用Python内建函数locals()。它返回的字典对所有局部变量名称与值相对应。所以你可以尝试一下下面的方法。

def current_datetime(request):
    current_date = datetime.datetime.now()
    return render(request, "current_datetime.html", locals())

在此,我们没有像之前的那样手工进行指定context字典,而是传入locals() 的值,它囊括了函数执行到改时间点所定义的一切变量。因此,我们将now变量重命名为current_date,因为那才是模板语言预期的变量名称。在这个案例中,locals() 并没有带来多大的改进,但是如果有多个模板变量时,这个方法就可以让你提高效率,当然也会减少一些键盘输入。

使用locals() 时要注意是它,包括了所有的局部变量,它们可能比你想让模板访问的要多。在这个案例中,locals() 包含了request。当然你也可以去获取这个locals() 中的变量。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/925930.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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