调用settings.py的配置信息作为全局使用

本文介绍如何在Django项目中设置全局变量,并将其应用于视图和模板中,以实现高效的信息共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中一些比较零散的信息可以保存在数据库,也可以保存在settings.py里面

 
并且这些变量也可以像引用数据里面的数据使用,
 
 
可以把信息保存在settings.py里面,也可以保存在数据表当中
设置在settings里面等于是相当于设置全局变量
在views.py当中引用
先import django.conf import settings
通过这种方式引用:site_name = settings.SITE_NAME
不过这种方式引用太麻烦
可以直接定义一个函数,将settings内容读取出来,进行输出
def global_setting():
return{'SITE_NAME':settings.SITE_NAME,
'SITE_DESC':settings.SITE_DESC,
}
把这个方法加到settings.py里面的TEMPLATES的OPTIONS的上下文处理器这个配置
在这个处理器执行的时候,每个页面都可以用到,
'blog.views.global_setting',
于是我可以直接在模板当中调用global里面的变量,字典的名字
如html当中
SITE_NAME
 
 
把index和archive里面相同的代码提取出来放到global_settings里面
 
def global_setting(request):
#分类信息获取(导航数据)
category_list = Category.objects.all()
#文章归档数据
archive_list = Article.objects.distinct_date()
return {
'category_list':category_list,
'archive_list':archive_list,
'SITE_NAME':settings.SITE_NAME,
'SITE_DESC':settings.SITE_DESC,
}
还有一些数据也可以放到global_settings里面
如:广告数据,标签云数据,友情链接数据,文章排行榜数据
 
 
 
 
 
 
 
 
 
 
 





转载于:https://www.cnblogs.com/wuqingzangyue/p/5749493.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值