В чем основное различие между следующими операторами импорта в приложении Django?
import settings
и
from django.conf import settings
Ответы:
import settings
Импортирует модуль настроек (.py) вашего проекта Django (если вы, конечно, пишете этот код из "корневого" пакета вашего приложения)
from django.conf import settings
Импортирует объект настроек из пакета django.conf (файлы, предоставленные Django). Это важно , потому что
[..] обратите внимание, что ваш код не должен импортировать ни из global_settings, ни из вашего собственного файла настроек. django.conf.settings абстрагирует концепции настроек по умолчанию и настроек для конкретного сайта; он представляет собой единый интерфейс. Он также отделяет код, который использует настройки, от местоположения ваших настроек.
ОБНОВЛЕНИЕ: если вы хотите определить некоторые собственные настройки, см. Эту часть документации
from django.conf import settings
очень важно, если вы хотите иметь возможность перезаписывать настройки во время модульного тестирования.
my_var
в настройках , то это будет не в состоянии : from django.conf import settings
... settings.my_var
. Но если вы его MY_VAR
назовете, все получится!