Django-Einstellungsdatei - Schritt für Schritt Erläuterung
Sobald wir das Django-Projekt erstellt haben, sind Directory structure
die folgenden Dateien vordefiniert , wobei jede Datei ihre eigene Verwendung hat.
Nehmen wir ein Beispiel
// Erstelle ein Django Projekt "mysite" django-admin startproject mysite cd / pathTo / mysite // Erstelle eine Django App "polls" innerhalb des Projekts "mysite" python manage.py startapp Umfragen
Nach diesen Befehlen im Terminal / CMD- Verzeichnis lautet die Struktur des Projekts "mysite":
mysite <- BASE_DIR -> mysite -> __init__.py -> asgi.py -> settings.py <- settings.py Datei -> urls.py. -> wsgi.py. -> manage.py -> Umfragen
Einblicke in die Datei settings.py
Eine Django-Einstellungsdatei enthält die gesamte Konfiguration Ihres Django-Projekts. In diesem Artikel werden die wichtigen settings.py
Aktenpunkte von Django besprochen.
Eine Einstellungsdatei ist nur ein Python-Modul mit Variablen auf Modulebene.
BASE_DIR
BASE_DIR zeigt auf die oberste Hirarchie des Projekts, dh auf der MySite. Alle Pfade, die wir im Projekt unterscheiden, sind alle relativ zu BASE_DIR. Um BASE_DIR verwenden zu können, müssen wir das von Python bereitgestellte OS- Modul verwenden .
BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file__)))
DEBUGGEN
In der Entwicklung ist ein Fehler sehr offensichtlich. Es macht keinen Spaß, ein Programm zu schreiben, bei dem keine Fehler auftreten. Aber manchmal ist es sehr hektisch, Fehler anzugehen. Django bietet einen eingebauten Debugger, der dem Entwickler das Leben sehr einfach macht. Wir können es verwenden, indem wir:
DEBUG = True // Dies ist der Standardwert und wird nur in der Entwicklungsphase bevorzugt.
In der Produktion wird DEBUG = False bevorzugt.
ALLOWED_HOSTS
ALLOWED_HOSTS ist eine Liste mit Adressen aller Domänen, auf denen Ihr Django-Projekt ausgeführt werden kann.
Wenn DEBUG auf True
gesetzt ist, kann ALLOWED_HOSTS eine leere Liste sein, dh ALLOWED_HOSTS = [], da es standardmäßig 127.0.0.1 oder localhost ist.
Wenn DEBUG auf False
gesetzt ist, kann ALLOWED_HOSTS keine leere Liste sein. Wir müssen den Namen des Gastgebers in der Liste angeben. dh ALLOWED_HOSTS = ["127.0.0.1", "* .heroku.com"] . "127.0.0.1" steht für Ihren PC, "* .heroku.com" steht für diese Anwendung, die auch auf heroku ausgeführt werden kann.
INSTALLED_APPS
In diesem Abschnitt erwähnen wir alle Apps, die in unserem Django-Projekt verwendet werden. Zuvor haben wir eine App- Umfrage durchgeführt, bei der wir Django seine Existenz mitteilen müssen. Dazu müssen wir in INSTALLED_APPS Folgendes eingeben:
INSTALLED_APPS = [ // Einige vorinstallierte Apps von Django, 'polls', // vergiss nicht, es zu zitieren und auch Kommas nach jeder App ]]
DATENBANKEN
Django unterstützt offiziell die folgenden Datenbanken:
- PostgreSQL
- MariaDB
- MySQL
- Orakel
- SQLite <- Standardmäßig
DATENBANKEN = { 'Standard': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join (BASE_DIR, 'db.sqlite3'), }} }}
Es gibt auch eine Reihe von Datenbank-Backends, die von Dritten bereitgestellt werden .
Hier ist ein Beispiel für die Verwendung von PostgreSQL
DATENBANKEN = { 'Standard': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': YOUR_DB_NAME, 'USER': USERNAME, 'PASSWORD': PASSWORD_FOR_DB, 'HOST': 'localhost' // in Entwicklung. }} }}
Hinweis: Bevor Sie PostgreSQL verwenden, müssen Sie psycopg2 mit installieren
pip install psycopg2
URL-Variablen
URL-Variablen sind relativ zu BASE_DIR. Diese Variablen werden zum Speichern von Dateien auf Medien oder statischen Dateien verwendet.
Hinweis: Erstellen Sie statische Ordner und Medienordner im übergeordneten Verzeichnis.
MEDIA_URL
MEDIA_URL ist der relative Pfad zu BASE_DIR. Diese Variable wird zum Speichern der Mediendateien verwendet.
MEDIA_URL = '/ media /'
STATIC_URL
STATIC_URL ist der relative Pfad zu BASE_DIR. Diese Variable wird zum Speichern der statischen Dateien verwendet.
STATIC_URL = '/ static /'
ROOT-Variablen
ROOT-Variablen sind absolute Pfade. Diese Variablen werden verwendet, um Dateien entweder auf Medien oder statisch abzurufen.
MEDIA_ROOT
MEDIA_ROOT ist der absolute Pfad. Diese Variable wird zum Abrufen der Mediendateien verwendet.
MEDIA_ROOT = os.path.join (BASE_DIR, 'media')
STATIC_ROOT
STATIC_ROOT ist der absolute Pfad. Diese Variable wird zum Abrufen der statischen Dateien verwendet.
STATIC_ROOT = os.path.join (BASE_DIR, 'statisch')
Hinweis: Alle Variablennamen in den Django-Einstellungen sind in GROSSBUCHSTABEN.