django中settings.py中变量的全局引用

在settings.py中添加自定义变量,可以通过setting.(点)变量名的方式访问,如:

from django.conf import settings
site_name = settings.SITE_NAME
site_desc = settings.SITE_DESC

但是,如果遇到了一些频繁访问的变量,如:邮箱,网站标题,网站的描述,这样访问就很不方便,解决方法:

1.首先在settings.py中添加对应的变量:

#网站信息
SITE_NAME="hupeng的个人博客"
SITE_DESC="pyhon爱好者,希望和大家一起学习,共同进步"

2.在view中定义函数,返回包含settings配置文件中的变量

from django.conf import settings
def global_settings(request): return {"SITE_NAME": settings.SITE_NAME, "SITE_DESC": settings.SITE_DESC}

注意:

函数中需要添加参数request,否则会出现以下错误:

3.在setting.py中的TEMPLATES中的OPTIONS配置项中添加global_settings函数

 4.修改模板,通过键名的方式直接访问对应的变量

5.最终效果:

原文地址:https://www.cnblogs.com/leonardchen/p/6642512.html