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

相关文章

matplotlib绘制符合论文要求的图片实例(必看篇)

matplotlib绘制符合论文要求的图片实例(必看篇)

最近需要将实验数据画图出来,由于使用python进行实验,自然使用到了matplotlib来作图。 下面的代码可以作为画图的模板代码,代码中有详细注释,可根据需要进行更改。 # -*...

python 脚本生成随机 字母 + 数字密码功能

下面一段代码给大家介绍python 脚本生成随机 字母 + 数字密码功能,具体代码如下所述: #coding:utf-8 import random,string def GetPa...

Pandas-Cookbook 时间戳处理方式

# -*-coding:utf-8-*- # by kevinelstri # 2017.2.17 # ----------...

VSCode下配置python调试运行环境的方法

VSCode下配置python调试运行环境的方法

VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在V...

Python3 单行多行万能正则匹配方法

可匹配单行,也支持换行匹配 [\s\S]*? 加上括号,效果更好 ([\s\S]*?) 以上这篇Python3 单行多行万能正则匹配方法就是小编分享给大家的全部内容了,希...