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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.最终效果:

技术分享


以上是关于django中settings.py中变量的全局引用的主要内容,如果未能解决你的问题,请参考以下文章

Django学习之全局变量

模板中的 Django settings.py 变量

django2.0 路由规则

Django2.0中URL的路由机制

Django之配置文件(settings.py)

Django settings源码解析