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设计】的支持。

相关文章

Pandas DataFrame数据的更改、插入新增的列和行的方法

Pandas DataFrame数据的更改、插入新增的列和行的方法

一、更改DataFrame的某些值 1、更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。 2、需要注意的是,数据更改直接针对DataFrame原数据更改,...

python编写分类决策树的代码

python编写分类决策树的代码

决策树通常在机器学习中用于分类。 优点:计算复杂度不高,输出结果易于理解,对中间值缺失不敏感,可以处理不相关特征数据。 缺点:可能会产生过度匹配问题。 适用数据类型:数值型和标称...

Python多线程同步Lock、RLock、Semaphore、Event实例

Python多线程同步Lock、RLock、Semaphore、Event实例

一、多线程同步 由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源。大部分情况都推荐使用多进程。 pyth...

Python实现直播推流效果

Python实现直播推流效果

首先给出展示结果,大体就是检测工业板子是否出现。采取检测的方法比较简单,用的OpenCV的模板检测。 大体思路 opencv读取视频 将视频分割为帧 对每一帧进行处理(o...

python路径的写法及目录的获取方式

获取文件目录的方法 : import os # '***获取当前目录***' os.getcwd() # '***获取上级目录***' os.path.abspath(os.path...