Das Django-Webframework verfügt über eine Model-View-Template-Architektur (MVT), wodurch es das einzige Framework ist, das Sie zum Erstellen einer vollständigen Website oder Webanwendung benötigen. Mit diesem Python-Framework können Sie Modelle erstellen, die Datenbanken generieren und mithilfe von Ansichten dynamische HTML-Vorlagen für die Benutzeroberfläche rendern.

Die Macht von Django ist kein Geheimnis; Es ist schnell, zuverlässig, skalierbar und sicher. Die Zuverlässigkeit sowie die Skalierbarkeit dieser Software beruhen auf ihrer MVT-Architektur. Und in diesem Artikel erfahren Sie genau, wie die MVT-Architektur von Django funktioniert.

Was ist Djangos Modell?

Das Modell in der MVT-Architektur von Django definiert die Struktur und das Verhalten der Daten, die Sie über Ihre Website speichern möchten. Jedes von Ihnen erstellte Django-Modell generiert eine entsprechende Datenbanktabelle, in der jedes Attribut des Modells zu einem Feld in der Tabelle wird.

Fahren Sie mit der Einrichtung von unserer fort

instagram viewer
Einführungsartikel zu Django, können Sie ein Modell für die Verkäufer erstellen. Ein Verkäufer kann ein Verkäufermodell haben, das persönliche Informationen wie einen Namen und Kontaktdaten enthält, sowie ein zugehöriges Modell für die Artikel, die jeder Verkäufer verkauft.

Die Dateistruktur des vorhandenen Beispiel-Django-Projekts

meine Seite/
meine Seite/
_pycache_
_init_.py
asgi.py
settings.py
urls.py
wsgi.py
Verkäufer/
Migration
_init_.py
admin.py
apps.py
Modelle.py
test.py
Ansichten.py
db.sqlite3
manage.py

Erstellen von Django-Modellen

Wenn Sie in der obigen Dateistruktur unter dem App-Abschnitt der Verkäufer nachsehen, sehen Sie eine Datei mit dem Namen Modelle.py. Hier erstellen Sie alle Ihre Django-Modelle für den Verkäuferbereich Ihrer Website. Jedes Modell, das Sie erstellen, ist eine Unterklasse von Modell-API von Django, weshalb jede von Django generierte Modelle.py Datei hat einen Standardmodellimport.

Die Datei models.py

Von django.db importiere Modelle

# Erstellen Sie hier Ihre Modelle.

Klasse Verkäufer (Modelle. Modell):
Vorname = Modelle. Zeichenfeld (max_length=30)
Nachname = Modelle. Zeichenfeld (max_length=30)
Kontaktnummer = Modelle. Zeichenfeld (max_length=30)

Klasse Produkt (Modelle. Modell):
Verkäufer = Modelle. ForeignKey (Verkäufer, on_delete=models. KASKADE)
item_name = Modelle. Zeichenfeld (max_length=100)
item_quantity = Modelle. GanzzahlFeld()
item_price = Modelle. DecimalField (max_digits=9, decimal_places=2)
item_description = Modelle. Textfeld()

Der obige Code ist eine Kopie des aktualisierten Inhalts der model.py Datei. Die Datei erstellt nun zwei Modelle – Verkäufer und Produkt. Diese Modelle haben eine Eins-zu-Viele-Beziehung, bei der ein Verkäufer viele Produkte zum Verkauf anbieten kann. Das Produktmodell hat also a Unbekannter Schlüssel vom Verkäufer und ein on_delete Attribut gesetzt auf Modelle. KASKADE, was bedeutet, dass Sie beim Löschen eines Verkäufers automatisch alle Produkte löschen, die diesen haben Primärschlüssel Als ein Unbekannter Schlüssel.

Verwandt: Lernen Sie heute Python und Django mit diesen erstaunlichen Kursen Möglicherweise stellen Sie auch fest, dass jedes der Modelle im obigen Code keinen Primärschlüssel hat. Dies liegt daran, dass Django automatisch eine generiert Primärschlüssel wenn Sie nicht explizit eine erstellen.

Bevor Sie ein von Ihnen erstelltes Modell verwenden können, müssen Sie Django mitteilen, wo es zu finden ist. Dazu müssen Sie zu navigieren settings.py Datei und fügen Sie den Namen des Moduls ein, das die Modelle.py Datei, in die INSTALLED_APP Sektion.

Im Beispielprojekt für diesen Artikel ist die Modelle.py Datei befindet sich im Verkäufermodul. Daher die aktualisiert INSTALLED_APP Abschnitt wird wie folgt lauten:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"Verkäufer",
]

Mit dem obigen Code sind die Modelle in der Verkäufer-App jetzt für die Django-Website sichtbar, und Sie können jetzt mit den Migrationen fortfahren.

Das Durchführen von Migrationen ist wichtig, da dieser Prozess eine Möglichkeit darstellt, die Änderungen, die Sie an Ihren Modellen vornehmen, auf das entsprechende Datenbankschema zu verteilen. Jedes Mal, wenn Sie Änderungen an Ihrem Modell vornehmen, müssen Sie also den Migrationsprozess durchführen, der zwei Schritte umfasst.

Der erste Schritt besteht darin, Migrationen durchzuführen. Dies ist ein Befehl, der Migrationen basierend auf den in der erkannten Änderungen erstellt Modelle.py Datei. Um den Migrationsprozess zu starten, müssen Sie Ihr Terminal öffnen, zu dem Verzeichnis navigieren, das Ihr Django-Projekt enthält, und den Server mit dem folgenden Befehl starten:

python manage.py Runserver

Wenn der Server in einem Terminal läuft, öffnen Sie ein neues Terminal und geben Sie den folgenden Befehl ein:

python manage.py makemigrations

Nach der Ausführung erzeugt das Terminal die folgende Ausgabe:

Migrationen für „Verkäufer“:
sellers\migrations\0001_initial.py
- Modellverkäufer erstellen
- Modellprodukt erstellen

Die obige Ausgabe besagt eindeutig, dass Sie jetzt Migrationen für zwei Modelle haben – den Verkäufer und das Produkt. Wenn Sie jetzt in Ihrem Verkäufermodul zum Migrationsordner navigieren, sehen Sie, dass es jetzt eine neue Datei mit dem Namen 0001_initial.py. In dieser Datei finden Sie die soeben erstellten Migrationen.

Die Datei 0001_initial.py

# Generiert von Django 3.2.9 am 2022-02-26 16:06

von django.db Importmigrationen, Modelle
import django.db.models.deletion

Klasse Migration (Migrationen. Migration):

anfänglich = wahr

Abhängigkeiten = [
]

Operationen = [
Migrationen. Modell erstellen (
name='Verkäufer',
Felder=[
('id', Modelle. BigAutoField (auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('Vorname', Modelle. CharField (max_length=30)),
('Nachname', Modelle. CharField (max_length=30)),
('Kontaktnummer', Modelle. CharField (max_length=30)),
],
),
Migrationen. Modell erstellen (
name='Produkt',
Felder=[
('id', Modelle. BigAutoField (auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('Artikelname', Modelle. CharField (max_length=100)),
('item_quantity', models. GanzzahlFeld()),
('item_price', Modelle. DecimalField (dezimal_stellen=2, max_ziffern=9)),
('Artikelbeschreibung', Modelle. Textfeld()),
(„Verkäufer“, Modelle. ForeignKey (on_delete=django.db.models.deletion. CASCADE, to='Verkäufer.Verkäufer')),
],
),
]

Bei jeder neuen Migration generiert der Migrationsordner eine neue Version dieser Datei.

Schritt zwei des Migrationsprozesses besteht darin, die Modelle endgültig zu migrieren. Das bedeutet, dass Sie den Datenbankstatus mit dem synchronisieren Modelle.py Datei unter Verwendung der Migrationen, die Sie gerade in der erstellt haben 0001_initial.py Datei. Sie können diesen Vorgang (während der Server noch läuft) mit dem folgenden Befehl abschließen:

python manage.py migrieren

Was ist die Vorlage von Django?

Vorlagen sind eine Möglichkeit, HTML für Ihr Django-Projekt dynamisch zu generieren. Jede Django-Vorlage hat die .html Erweiterung und eine Kombination aus statischen und dynamischen Inhalten. Django-Vorlagen haben eine einzigartige Syntax, die neue Möglichkeiten zum Erstellen von Variablen und Tags in einem HTML-Dokument enthält.

Erstellen einer Django-Vorlage

Um Vorlagen in die Beispiel-E-Commerce-Website für diesen Artikel einzuführen, müssen Sie ein neues Verzeichnis im Verkäufermodul erstellen. Dieses neue Verzeichnis mit dem Namen „Vorlagen“ wird die Heimat aller HTML-Dokumente für die Verkäufer-App sein – beginnend mit der Startseite.

Die Datei sellers_home.html





Verkäufer | E-Commerce


Willkommen Verkäufer!




Nachdem Sie Ihre Vorlagen erstellt haben, müssen Sie sie für Django sichtbar machen, indem Sie das Verzeichnis Ihrer Vorlagen zum Verzeichnis hinzufügen VORLAGEN Abschnitt der settings.py Datei. Die aktualisiert VORLAGEN Abschnitt sieht wie folgt aus:

VORLAGEN = [
{
„BACKEND“: „django.template.backends.django. Django-Vorlagen',
'DIRS': [
# neuer Code, der auf den Speicherort der Vorlagen verweist
BASE_DIR / 'Verkäufer' / 'Vorlagen'
],
'APP_DIRS': Stimmt,
'OPTIONEN': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

Da Django nun weiß, wo die Vorlagen für die Website zu finden sind, können Sie fortfahren und sie mithilfe der Ansicht auf der Benutzeroberfläche rendern.

Was ist Djangos Ansicht?

Die Ansicht ist die zweite Schicht der MVT-Architektur von Django, eine Vorlage ist nutzlos, es sei denn, eine Ansicht rendert sie auf der Benutzeroberfläche. Die Ansicht ist dafür verantwortlich, Webanforderungen anzunehmen und entsprechende Antworten (einschließlich Vorlagen) zurückzugeben. In ihrer einfachsten Form ist die Ansicht eine Python-Funktion, die in der gespeichert ist view.py Datei Ihres Django-Projekts.

Django-Ansicht erstellen

Die view.py Datei befindet sich im Verkäufermodul des Django-Beispielprojekts. Wenn ein Verkäufer Ihre Website besucht, möchten Sie, dass er auf die Homepage eines Verkäufers gelangt. Diese Homepage erstellen Sie mithilfe einer HTML-Vorlage, ähnlich der im Vorlagenabschnitt oben erstellten.

Die view.py-Datei

aus django.shortcuts import render

def-Index (Anfrage):
Render zurückgeben (Anfrage, 'sellers_home.html')

Die obige Ansicht nimmt eine Anfrage entgegen und gibt die HTML-Vorlage des Verkäufers zurück. Jedes Mal, wenn ein Benutzer besucht (oder anfordert) http://127.0.0.1:8000/sellers/ Sie sehen die Homepage des Verkäufers. Dies ist, nachdem Sie eine erstellt haben urls.py Datei im Verkäufermodul.

Die Verkäufer-urls.py-Datei

aus dem Importpfad von django.urls
von. Ansichten importieren

URL-Muster = [
path('', views.index, name='index'),
]

Und geben Sie den Pfad zum Verkäufermodul an urls.py Datei in der urls.py Datei, die sich im Hauptverzeichnis von Django befindet.

Die Website-urls.py-Datei

von django.contrib import admin
aus django.urls import include, path

URL-Muster = [
path('sellers/', include('sellers.urls')),
Pfad('admin/', admin.site.urls),
]

Nachdem die Ansicht eingerichtet ist, können Sie sicherstellen, dass der Django-Server noch ausgeführt wird, und zu navigieren http://127.0.0.1:8000/sellers/ in Ihrem Browser, um die Homepage des Verkäufers anzuzeigen.

Die Homepage des Verkäufers

Djangos MVT-Architektur vs. MVC-Architektur

Die MVT-Architektur von Django unterscheidet sich stark von der beliebten MVC-Architektur.

Der Vorlagenabschnitt der MVT-Architektur funktioniert ähnlich wie die Ansicht in der MVC-Architektur. während die Ansicht in der MVT-Architektur ähnliche Qualitäten wie der Controller in der MVC aufweist die Architektur. Die Modelle in beiden Architekturen funktionieren jedoch identisch.

Eine Einführung in die MVC-Architektur: Beispiele erklärt

Wenden Sie Model-View-Controller-Designprinzipien auf Ihre eigenen Programme an, um sofortige Ergebnisse zu erzielen. So fangen Sie an.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Programmierung
  • Programmierung
  • Python
Über den Autor
Kadeisha Kean (46 veröffentlichte Artikel)

Kadeisha Kean ist ein Full-Stack-Softwareentwickler und technischer/Technologie-Autor. Sie hat die ausgeprägte Fähigkeit, einige der komplexesten technologischen Konzepte zu vereinfachen; Material zu produzieren, das von jedem Technologieneuling leicht verstanden werden kann. Sie schreibt leidenschaftlich gerne, entwickelt interessante Software und bereist die Welt (durch Dokumentarfilme).

Mehr von Kadeisha Kean

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden