Heim  >  Artikel  >  Backend-Entwicklung  >  Djangos Architektur verstehen: Das MTV-Muster.

Djangos Architektur verstehen: Das MTV-Muster.

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-18 20:16:30722Durchsuche

Understanding Django’s Architecture: The MTV Pattern.

Django folgt dem MTV-Muster (Model-Template-View) für die Webentwicklung. Hier ist eine Aufschlüsselung der einzelnen Komponenten:

Modell: Definiert Ihre Datenstruktur und verwaltet die Interaktion mit der Datenbank, sodass Sie Daten speichern und abrufen können, ohne SQL-Abfragen manuell schreiben zu müssen.

Vorlage: Verantwortlich für die Darstellung von HTML und die Darstellung der Daten für den Benutzer. Sie schreiben HTML gemischt mit Django Template Language (DTL), um dynamische Inhalte anzuzeigen.

Ansicht: Fungiert als Geschäftslogikschicht. Es verbindet das Modell und die Vorlage, verarbeitet Benutzeranfragen, interagiert mit dem Modell und gibt eine Antwort zurück (häufig HTML, das aus der Vorlage gerendert wird).

So funktioniert der Anfrage-Antwort-Zyklus von Django:

  • Ein Benutzer fordert eine Webseite an (über eine URL).
  • Django ordnet die URL einer Ansicht zu.
  • Die Ansicht ruft Daten vom Modell ab und übergibt sie an die Vorlage.
  • Die Vorlage rendert die Daten in HTML und sendet sie als Antwort an den Benutzer zurück.

Schritt 1: Erstellen Sie eine neue App in Django.
Sobald Sie Django eingerichtet haben (wie im vorherigen Artikel beschrieben), erstellen wir eine neue App in Ihrem Projekt.

Führen Sie diese Befehle aus:

cd mysite
python3 manage.py startapp core

Dadurch wird eine App namens core in Ihrem Mysite-Projekt erstellt. Ihre Dateistruktur sollte nun wie folgt aussehen:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Schritt 2: Registrieren Sie Ihre App in der Einstellungsdatei.
Um Django auf die neue App aufmerksam zu machen, müssen Sie sie zu INSTALLED_APPS in mysite/settings.py hinzufügen:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

Schritt 3: Erstellen Sie eine Basisansicht.
Lassen Sie uns eine einfache Ansicht erstellen, die ein „Hello, World!“ zurückgibt. Nachricht.

Öffnen Sie „views.py“ in der Kern-App und fügen Sie den folgenden Code hinzu:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

Schritt 4: URLs der Ansicht zuordnen.
Um über eine URL auf diese Ansicht zuzugreifen, müssen Sie sie in der Datei core/urls.py zuordnen. Erstellen Sie diese Datei, falls sie nicht vorhanden ist, und fügen Sie Folgendes hinzu:

from django.urls import path
from . import views

urlpatterns = [
    path('learn/', views.learn, name='learn'),
]

Als nächstes fügen Sie die URLs der Kern-App in die Hauptdatei mysite/urls.py ein:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

Wenn Sie nun den Server ausführen und http://127.0.0.1:8000/core/learn/ besuchen, sollte „Hello, World!“ angezeigt werden. angezeigt.
Schritt 5: Erstellen und rendern Sie eine Vorlage

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

Diese Ansicht übergibt nun eine Variable (Name) an eine Vorlage namens hello.html.
Schritt 6: Erstellen Sie ein Vorlagenverzeichnis und eine HTML-Datei.
Erstellen Sie in Ihrer Kern-App einen Vorlagenordner und eine hello.html-Datei:

mkdir core/templates
touch core/templates/hello.html

Fügen Sie in hello.html den folgenden HTML-Code hinzu

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello Template</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>

Wenn Sie die Lern-URL erneut aufrufen, sollte nun „Hallo, Django!“ angezeigt werden. im Browser.

Schritt 7: Erstellen Sie ein Basismodell.
Erstellen wir ein einfaches Post-Modell zum Speichern von Blog-Posts.

Fügen Sie in core/models.py den folgenden Code hinzu:

cd mysite
python3 manage.py startapp core

Dieses Postmodel hat zwei Felder: Titel und Inhalt. Die Methode __str__ stellt sicher, dass die Post-Objekte mit ihren Titeln im Django-Admin oder in der Shell angezeigt werden

Schritt 8: Anwenden des Modells auf die Datenbank.
Um die entsprechende Tabelle in der Datenbank zu erstellen, führen Sie diese Befehle aus:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

Django erstellt nun eine Datenbanktabelle für das Post-Modell.

Durch Befolgen dieser Schritte haben Sie erfolgreich eine einfache Django-App mit einem Modell, einer Ansicht und einer Vorlage erstellt. Sie können diese Grundlage nun erweitern, indem Sie weitere Funktionen hinzufügen, z. B. die Verarbeitung von Benutzereingaben, die Verbesserung des Designs und die interaktivere Gestaltung der App.

Das obige ist der detaillierte Inhalt vonDjangos Architektur verstehen: Das MTV-Muster.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn