Django设置:如何从应用程序的设置文件夹访问变量

Django设置:如何从应用程序的设置文件夹访问变量,django,django-settings,django-apps,Django,Django Settings,Django Apps,我有一个djanog项目,其结构如下: --|src --project --|settings --__init__.py --production.py --local.py --|app1 在我的应用程序中,我导入设置(从django.conf导入设置),然后在我遵循教程时,他们说要这样做getattr(设置,变量)。那对我不起作用。相反,我可以这样做:settings.VARIABLE。有什么区别 哦,我运行了type(settings),它输

我有一个djanog项目,其结构如下:

--|src
  --project
  --|settings
     --__init__.py
     --production.py
     --local.py
  --|app1
在我的应用程序中,我导入设置(
从django.conf导入设置
),然后在我遵循教程时,他们说要这样做
getattr(设置,变量)
。那对我不起作用。相反,我可以这样做:
settings.VARIABLE
。有什么区别


哦,我运行了
type(settings)
,它输出了

要访问settings.py文件中的变量,可以执行以下操作:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static', 'static_root')
例如,我在settings.py文件中定义静态_根变量,如下所示:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static', 'static_root')
我可以这样访问这个变量:

from django.conf import settings
document_root=settings.STATIC_ROOT

不同之处在于,由于各种原因(有关详细信息,请参见),除非从设置对象引用对象,否则不会加载设置对象

LazySettings
对象很特殊,您必须使用
settings.SOMETHING
访问它

它被称为“惰性”的原因是,在导入对象时,没有加载整个对象并使其可用。此
LazySettings
对象的作用类似于实际设置对象的代理。

project DIR --|应用程序目录 --|设置.py