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