Ich lese, dass die meisten Leute es tun, from django.conf import settings
aber ich verstehe den Unterschied nicht einfach import settings
in einer Django-Projektdatei. Kann jemand den Unterschied erklären?
python
django
django-settings
tzenderman
quelle
quelle
Antworten:
import settings
importiert normalerweise das erste Python-Modul mit dem Namen,settings.py
das in gefundensys.path
wurde (in Standard-Django-Setups). Es erlaubt nur den Zugriff auf Ihre Site-definierte Einstellungsdatei, die die Django-Standardeinstellungen (django.conf.global_settings
) überschreibt .Wenn Sie also versuchen, auf eine gültige Django-Einstellung zuzugreifen, die nicht in Ihrer Einstellungsdatei angegeben ist, wird eine Fehlermeldung angezeigt.
django.conf.settings
ist keine Datei, sondern eine Klasse, die eine Abstraktion der Konzepte, Standardeinstellungen und Ihrer standortspezifischen Einstellungen vornimmt. Django führt auch andere Überprüfungen durch, wenn Sie verwendenfrom django.conf import settings
.Sie finden es auch in den Django-Dokumenten .
Hoffe das hilft.
quelle
import settings
importiert den ersten Python - Modul mit dem Namensettings.py
gefundensys.path
. Dies ist möglicherweise nicht die "Site Defined Settings File", die in der Umgebungsvariablen "DJANGO_SETTINGS_MODULE" nachgeschlagen wird und nur ein beliebiges Python-Paket oder -Modul sein kann.from django.conf import settings
ist eine bessere Option.Ich verwende verschiedene Einstellungsdateien für dasselbe Django-Projekt (eine für "live", eine für "dev"), die erste wählt die aus, die ausgeführt wird.
quelle