locals() 函数是python内置函数,会以字典类型返回当前位置的全部局部变量。
locals() 函数语法:locals()
参数无,返回字典类型的局部变量。
以下实例展示了 locals() 的使用方法:
# 作者-上海悠悠 QQ交流群:717225969 # blog地址 https://www.cnblogs.com/yoyoketang/ a = "hello world" def func(): name = "yoyo" age = 20 return locals() if __name__ == '__main__': res = func() print(res)
运行结果,返回字典类型的局部变量:{'age': 20, 'name': 'yoyo'}
a变量不是func()函数的局部变量,所以并不会返回
在 templates 添加 demo.html,模板中引用了3个变量:nkname,qq, city
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo title</title> </head> <body> <h1> {{ nkname}} </h1> <h1> {{ qq }} </h1> <h1> {{ city }} </h1> </body> </html>
views.py 视图函数可以写成这样
from django.shortcuts import render # Create your views here. # 作者-上海悠悠 QQ交流群:717225969 # blog地址 https://www.cnblogs.com/yoyoketang/ def demo_view(request): nkname = "上海-悠悠" city = "上海" qq = "283340479" context = { "nkname": nkname, "city": city, "qq": qq } return render(request, "demo.html", context=context)
使用locals函数后,代码可以简写成
from django.http import JsonResponse # Create your views here. # 作者-上海悠悠 QQ交流群:717225969 # blog地址 https://www.cnblogs.com/yoyoketang/ def demo_view(request): nkname = "上海-悠悠" city = "上海" qq = "283340479" return render(request, "demo.html", locals())
如果你是个喜欢偷懒的程序员并想让代码看起来更加简明,可以利用 Python 的内建函数 locals() 。它返回的字典对所有局部变量的名称与值进行映射。