Django-Importeinstellungen
- Standardeinstellungen in der Django-App
- Benutzerdefinierte Einstellungen in der Django-App
-
Importeinstellungen aus django.conf
VS.Einstellungen importieren
In diesem Tutorial lernen wir den Unterschied zwischen from django.conf import settings
und import settings
kennen, die wir verwenden, um Einstellungen in das Django-Projekt zu importieren.
Lassen Sie uns zunächst verstehen, was die Einstellungsdatei in der Django-App enthält. Die Datei settings.py
ist also die normale Python-Datei im Django-Projekt, die die Konfigurationen Ihrer Django-App enthält.
Es kann auch leer sein, wenn Sie keine Konfigurationen für Ihre App haben, aber das passiert nie.
Standardeinstellungen in der Django-App
Wenn wir das neue Django-Projekt erstellen, enthält es die Datei settings.py
mit allen Anfangskonfigurationen. Benutzer können die Standardeinstellungsdatei mit dem folgenden Code in andere Dateien importieren.
from django.conf import settings
Hier ist django.conf
ein Modul, aus dem wir das Objekt settings
importieren. Wenn Benutzer versuchen, Einstellungen wie die folgende zu importieren, funktioniert das nicht.
# This won't work
from django.conf.settings import SECRET_KEY
Nach dem Importieren der Einstellungen aus dem django.conf
-Modul können Benutzer es wie unten verwenden.
from django.conf import settings
# Do something with the properties of the settings object
if settings.SECRET_KEY:
# some code
Auf diese Weise können wir Einstellungen aus der globalen Einstellungsdatei importieren und in einer anderen Datei verwenden.
Benutzerdefinierte Einstellungen in der Django-App
Es ist nicht notwendig, immer die Standardeinstellungen zu verwenden. Benutzer können die Einstellungen auch entsprechend ihren Anforderungen anpassen.
Zuerst werden wir uns mit dem Ändern der Werte der Standardeinstellungen befassen.
Entwickler können die Methode configure()
von Python verwenden, um den Wert von Eigenschaften des Objekts settings
zu ändern. Wir können so viele Argumente übergeben, wie wir wollen, während wir die configure()
-Methode aufrufen, indem wir das settings
-Objekt als Referenz nehmen.
Es zählt die Einstellungseigenschaft und -werte als einzelne Argumente, die Benutzer im folgenden Code sehen können.
from django.conf import settings
settings.configure(SECRET_KEY= < New_Security_key >)
Wenn Benutzer versuchen, Standardeinstellungen wie die untenstehende zu ändern, wird ein Fehler ausgelöst.
from django.conf import settings
# This code will raise an error
if settings.SECRET_KEY:
settings.SECRET_KEY = "New Key"
Außerdem können Benutzer eine neue Datei für die Einstellungen erstellen und benutzerdefinierte Einstellungen gemäß den Anforderungen der Django-App hinzufügen. Stellen Sie beim Erstellen der neuen Datei für manuelle Einstellungen sicher, dass alle Buchstaben des Dateinamens in Großbuchstaben geschrieben sind und keine andere Datei mit diesem Namen bereits vorhanden ist.
Angenommen, Benutzer haben die Datei custom_settings.py
erstellt. Anschließend können Benutzer Einstellungen aus den im folgenden Code dargestellten importieren.
Außerdem müssen Benutzer die Methode configure()
verwenden, um die Standardeinstellungen zu überschreiben.
from django.conf import settings
from custom_settings import custom_settings
settings.configure(default_settings=custom_settings)
Auf diese Weise können wir die Standardeinstellungen der Django-App ändern, indem wir Einstellungen aus anderen Dateien importieren und sie mit der configure()
-Methode von Python überschreiben.
Importeinstellungen aus django.conf
VS. Einstellungen importieren
Lassen Sie uns nun den Unterschied zwischen den from django.conf import settings
und import settings
verdeutlichen.
Wenn also ein Benutzer versucht, Einstellungen mit den Importeinstellungen from django.conf
zu importieren, importiert die App die Einstellungen aus den Standardeinstellungen, d. h. aus der globalen Einstellungsdatei.
Wir haben möglicherweise mehrere andere Dateien für die benutzerdefinierten Einstellungen in unserer App. Wenn wir also Einstellungen mit Einstellungen importieren
importieren, importiert die App die erste Einstellungsdatei, die sie im System findet.
Daher ist es eine bewährte Methode, die Importeinstellungen from django.conf
zu verwenden, um Einstellungen problemlos aus der globalen Einstellungsdatei zu importieren.