如何从第三方模块访问django设置?

时间:2016-03-05 23:13:22

标签: python django

我正在编写一个django-agnostic模块,它将在django subdir tree中的任何位置进行导入。

我希望如果从任意django项目中导入此模块,它将检测到它在django环境中运行, 它会从项目内的任何地方找到并导入settings.py吗?

e.g。 \ Django的  \ APP   \ import XXX.settings?

\ django的  \项目   \某处    \ import XXX.settings

(我在寻找一个通用的解决方案,而不是特定的dir。)

1 个答案:

答案 0 :(得分:2)

您的模块应以标准方式访问django设置:

from django.conf import settings

来自https://docs.djangoproject.com/en/1.8/topics/settings/#using-settings-in-python-code

  

另请注意,您的代码不应从其中导入   global_settings或您自己的设置文件。 django.conf.settings   摘要默认设置和特定于站点的设置的概念;   它呈现了一个单一的界面。它还解耦了使用的代码   来自设置位置的设置。

如果您的模块有自己的设置,可以在项目的settings.py中配置它们。您可以在模块中硬编码合理的默认值,如果需要settings.py值,可以引发ImproperlyConfigured