我在这里阅读有关django settings
的文章我理解" django.conf.settings不是一个模块 - 它是一个对象。"这就是我无法导入变量的原因。我只需要在我的设置中使用语句CURRENCIES。
正确的方法是from django.conf import settings
然后var = settings.CURRENCIES
还是from [projectname].settings import CURRENCIES
两者都适合我。但我想知道是否有推荐的方法。
答案 0 :(得分:1)
此方法from django.conf import settings
更可取。对于不同的环境,您可能有不同的设置文件,例如test_settings.py
,dev_settings.py
和prod_settings.py
。使用from django.conf import settings
,您的代码会自动为您提供项目使用设置。
另外,第二种方法不允许您访问未在设置文件中定义的默认设置。
引自django docs:
另请注意,您的代码不应从global_settings导入 或您自己的设置文件。 django.conf.settings抽象概念 默认设置和特定于站点的设置;它呈现单一 接口。它还解耦了使用设置的代码 设置的位置。