+1, weil es eine sehr interessante Frage für diejenigen ist, die neu in der Django-Entwicklung sind.
Antworten:
134
import settings
Importiert das Einstellungsmodul (.py) Ihres Django-Projekts (wenn Sie diesen Code natürlich aus dem "root" -Paket Ihrer Anwendung schreiben)
from django.conf import settings
Wird importieren Einstellungen Objekt aus django.conf Paket (Djangos bereitgestellt Dateien). Das ist wichtig , weil
[..] Beachten Sie, dass Ihr Code weder aus global_settings noch aus Ihrer eigenen Einstellungsdatei importiert werden sollte. django.conf.settings abstrahiert die Konzepte von Standardeinstellungen und ortsspezifischen Einstellungen. Es präsentiert eine einzige Schnittstelle. Außerdem wird der Code, der Einstellungen verwendet, vom Speicherort Ihrer Einstellungen entkoppelt.
Zu Ihrer Information, global_settings ist ein weiteres Modul im Paket django.conf. Verwenden Sie es nicht, wie in der Dokumentation angegeben.
3
Beachten Sie, dass die Verwendung von entscheidender Bedeutung from django.conf import settingsist, wenn Sie Einstellungen auch während des Komponententests überschreiben möchten.
Joris
4
Beachten Sie auch, dass alle Einstellungsnamen in Großbuchstaben geschrieben werden sollten . Das heißt, wenn Sie einen var hat my_varin Ihren Einstellungen , dann wird dies fehlschlagen: from django.conf import settings... settings.my_var. Aber wenn Sie es nennen MY_VAR, wird es gelingen!
Antworten:
Importiert das Einstellungsmodul (.py) Ihres Django-Projekts (wenn Sie diesen Code natürlich aus dem "root" -Paket Ihrer Anwendung schreiben)
Wird importieren Einstellungen Objekt aus django.conf Paket (Djangos bereitgestellt Dateien). Das ist wichtig , weil
UPDATE: Wenn Sie eigene Einstellungen definieren möchten, lesen Sie diesen Teil der Dokumentation
quelle
from django.conf import settings
ist, wenn Sie Einstellungen auch während des Komponententests überschreiben möchten.my_var
in Ihren Einstellungen , dann wird dies fehlschlagen:from django.conf import settings
...settings.my_var
. Aber wenn Sie es nennenMY_VAR
, wird es gelingen!