Django 配置文件Settings源码分析

本文深入探讨了Django的配置文件Settings的源码,从导入方式开始,逐步解析了ENVIRONMENT_VARIABLE变量的含义,指出该值在manage.py中被设定。接着详细介绍了Settings的实例化过程,揭示了global_settings包含的默认配置,并阐述了importlib模块在其中的作用,帮助理解如何动态导入settings模块。
摘要由CSDN通过智能技术生成

源码分析

1、导入settings文件的方式是

from django.conf import settings

2、点进settings文件中

# 发现settings是LazySettings的实例化对象
settings = LazySettings()

3、点击LazySettings到类的定义中

class LazySettings(LazyObject):
	def _setup(self, name=None):
		# os.environ 相当于是一个全局的字典,只要在项目当中通过os.environ都可以拿到这个字典,这里是从这个字典中取一个ENVIRONMENT_VARIABLE
       	settings_module = os.environ.get(ENVIRONMENT_VARIABLE)
        if not settings_module:
     	... ...

4、点击ENVIRONMENT_VARIABLE进去看取得到底是什么值

ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"

看到这里得出是想从全局拿一个DJANGO_SETTINGS_MODULE的值,但是这个值在什么时候设置的呢,Django一旦启动肯定回查找settings文件,而Django的启动文件又是 manage.py,所以可以去 manage.py 中找找。

5、在 manage.py 中有这一句,相当于是字典的赋值,而这里的值就是项目中我们可以进行配置的settings文件的路径。

# 相当于 os.environ["DJ
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值