django开发之settings.py中变量的全局引用详解

yipeiwu_com6年前Python基础

本文主要介绍的是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、最终效果:

 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python opencv 实现对图像边缘扩充

python opencv 实现对图像边缘扩充

原始图像 根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素。 a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPL...

Flask SQLAlchemy一对一,一对多的使用方法实践

Flask-SQLAlchemy安装和建表操作请参考这里。 复制代码 代码如下:# Role表class Role(db.Model):    id=db...

简单介绍django提供的加密算法

导包 from django.contrib.auth.hashers import make_password, check_password 加密 # 原密码 1234 p...

Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

【听图阁-专注于Python设计】小编注:如果不是特殊需要建议安装 Anaconda3 即可,自带Jupyter Notebook 。 手动安装之前建议查看这篇文章:/post/1351...

python对于requests的封装方法详解

由于requests是http类接口的核心,因此封装前考虑问题比较多: 1. 对多种接口类型的支持; 2. 连接异常时能够重连; 3. 并发处理的选择; 4. 使用方便,容易维护; 当前...