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