Подтвердить что ты не робот

Какая разница между параметрами импорта из django.conf и параметрами импорта в проекте Django

Я читаю, что большинство людей делают from django.conf import settings, но я не согласен с тем, что просто делаю import settings в файле проекта django. Может ли кто-нибудь объяснить разницу?

4b9b3361

Ответ 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" ), первый выбирает тот, который выполняется.