Django的override_settings修饰器浅析

  • Post author:
  • Post category:其他


  1. Django的Settings模块代码说明
  2. Django的

    override_settings

    修饰器分析

前言

前两天刚刚看了Django settings的实现,今天又发现了测试工具中有个

override_settings

修饰器,于是就想从它下手来分析一下Django的

settings

本篇文章主要分析的是

override_settings

作为修饰器的实现,其作为上下文管理器的部分并未详细分析。

Django的settings说明

在分析这个修饰器之前,我们先来了解一下Django的

settings

是如何实现的, Django的

settings

的代码存放在

django/conf/__init__.py

中,其中主要有三个类,

LazySettings



Settings



UserSettingsHolder

Settings


Settings

类实现了Django配置的载入和存储功能,在它的

__init__

函数中,首先从

django/conf/global_settings.py

文件中导入Django默认的配置,然后再从

DJANGO_SETTINGS_MODULE

环境变量所指定的配置文件中导入我们项目自定义的配置,然后逐项地检查并添加配置。

需要注意的是,

Settings



版权声明:本文为u012291393原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。