Я читаю, что большинство людей делают from django.conf import settings
, но я не согласен с тем, что просто делаю import settings
в файле проекта django. Может ли кто-нибудь объяснить разницу?
Какая разница между параметрами импорта из django.conf и параметрами импорта в проекте Django
Ответ 1
import settings
будет импортировать первый модуль python с именем settings.py
, найденный в sys.path
, обычно (в настройках по умолчанию django). Он позволяет получить доступ только к определенному файлу настроек вашего сайта, который перезаписывает настройки django по умолчанию (django.conf.global_settings
).
Итак, если вы попытаетесь получить доступ к действительному параметру django, не указанному в вашем файле настроек, вы получите сообщение об ошибке.
django.conf.settings
- это не файл, а класс, делающий абстракцию понятий, настроек по умолчанию и настроек вашего сайта. Django также выполняет другие проверки при использовании from django.conf import settings
.
Вы также можете найти его в django docs.
Надеюсь, что это поможет.
Ответ 2
from django.conf import settings
- лучший вариант.
Я использую разные файлы настроек для одного и того же проекта django (один для "live", один для "dev" ), первый выбирает тот, который выполняется.