我正在编写一个django-agnostic模块,它将在django subdir tree中的任何位置进行导入。
我希望如果从任意django项目中导入此模块,它将检测到它在django环境中运行, 它会从项目内的任何地方找到并导入settings.py吗?
e.g。 \ Django的 \ APP \ import XXX.settings?
\ django的 \项目 \某处 \ import XXX.settings
(我在寻找一个通用的解决方案,而不是特定的dir。)
答案 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
。