Django-Importeinstellungen

Shubham Vora 20 Juni 2023
  1. Standardeinstellungen in der Django-App
  2. Benutzerdefinierte Einstellungen in der Django-App
  3. Importeinstellungen aus django.conf VS. Einstellungen importieren
Django-Importeinstellungen

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.

Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub