Django-Einführungsleitfaden: Schnell Ihre erste Webanwendung erstellen
Django-Einführungsleitfaden: Schnell Ihre erste Webanwendung erstellen
Django ist ein High-Level-Python-Webframework, das auf schnelle Entwicklung und übersichtliches Design abzielt. Es folgt der Model-Template-View (MTV)-Architektur und fördert die Wiederverwendung von Code und die Modularisierung. Dieser Leitfaden führt Sie Schritt für Schritt durch die Erstellung einer einfachen Django-Anwendung, damit Sie schnell loslegen können.
1. Umgebung einrichten
Zuerst müssen Sie sicherstellen, dass Python auf Ihrem System installiert ist. Django empfiehlt die Verwendung von Python 3.6 oder höher.
1.1 Python installieren
Wenn Python auf Ihrem System nicht installiert ist, können Sie es von der Python-Website herunterladen und installieren.
1.2 Virtuelle Umgebung erstellen (Virtual Environment)
Um die Abhängigkeiten zwischen verschiedenen Projekten zu isolieren, wird dringend empfohlen, eine virtuelle Umgebung zu verwenden.
-
Öffnen Sie ein Terminal oder eine Eingabeaufforderung.
-
Erstellen Sie ein Projektverzeichnis, z. B.
myproject:mkdir myproject cd myproject -
Erstellen und aktivieren Sie die virtuelle Umgebung:
python3 -m venv venv # oder python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsNach der Aktivierung der virtuellen Umgebung zeigt Ihre Terminaleingabeaufforderung
(venv)an, was bedeutet, dass Sie die virtuelle Umgebung verwenden.
1.3 Django installieren
Installieren Sie Django mit pip in der aktivierten virtuellen Umgebung:
pip install Django
Überprüfen Sie, ob die Installation erfolgreich war:
python -m django --version
Sie sollten die Django-Versionsnummer sehen können.
2. Django-Projekt erstellen
Nach der Installation von Django können Sie ein neues Django-Projekt erstellen.
-
Führen Sie im Projektverzeichnis (
myproject) den folgenden Befehl aus:django-admin startproject mysiteDadurch wird im Verzeichnis
myprojectein Verzeichnis namensmysiteerstellt, das das Gerüst für das Django-Projekt enthält. -
Wechseln Sie in das Verzeichnis
mysite:cd mysite -
Die Django-Projektverzeichnisstruktur sieht wie folgt aus:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Ein Befehlszeilentool zur Verwaltung des Django-Projekts.mysite/: Ein Python-Paket, das die Projektkonfiguration enthält.__init__.py: Eine leere Datei, die Python mitteilt, dass das Verzeichnis als Python-Paket behandelt werden soll.settings.py: Die Projektkonfigurationsdatei, z. B. Datenbankeinstellungen, Debug-Modus usw.urls.py: Die URL-Routing-Konfiguration, die URLs auf View-Funktionen abbildet.asgi.py: Die ASGI-Konfigurationsdatei (Asynchronous Server Gateway Interface) für die Bereitstellung asynchroner Anwendungen.wsgi.py: Die WSGI-Konfigurationsdatei (Web Server Gateway Interface) für die Bereitstellung herkömmlicher synchroner Anwendungen.
3. Starten des Entwicklungsservers
Django wird mit einem leichtgewichtigen Entwicklungsserver geliefert, der es Ihnen ermöglicht, lokal zu entwickeln und zu testen.
-
Führen Sie im Verzeichnis
mysiteden folgenden Befehl aus:python manage.py runserver -
Öffnen Sie Ihren Browser und besuchen Sie
http://127.0.0.1:8000/. Sie sollten die Seite "It worked! Congratulations on your first Django-powered page." sehen.
4. Erstellen einer Django-Anwendung
Ein Django-Projekt kann mehrere Anwendungen enthalten. Erstellen wir eine Anwendung namens myapp.
-
Öffnen Sie ein neues Terminalfenster (lassen Sie den Entwicklungsserver weiterlaufen).
-
Führen Sie im Verzeichnis
mysiteden folgenden Befehl aus:python manage.py startapp myappDadurch wird im Verzeichnis
mysiteein Verzeichnis namensmyapperstellt, das das Gerüst für die Django-Anwendung enthält. -
Die Verzeichnisstruktur der Django-Anwendung sieht wie folgt aus:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Eine leere Datei, die Python mitteilt, dass das Verzeichnis als Python-Paket betrachtet werden soll.admin.py: Wird zur Konfiguration des Django-Administrationsbereichs verwendet.apps.py: Anwendungskonfiguration.migrations/: Wird zur Verwaltung von Datenbankmigrationen verwendet.models.py: Definiert Datenmodelle (Datenbanktabellen).tests.py: Schreiben von Testfällen.views.py: Definiert View-Funktionen, die Anfragen verarbeiten und Antworten zurückgeben.
-
Fügen Sie in
mysite/settings.pymyappzur ListeINSTALLED_APPShinzu:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # 添加 myapp (myapp hinzufügen) ]
5. Erstellen einer einfachen View
Jetzt erstellen wir eine einfache View, die "Hello, Django!" im Browser anzeigt.
-
Bearbeiten Sie die Datei
myapp/views.pyund fügen Sie den folgenden Code hinzu:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Erstellen Sie eine Datei
myapp/urls.pyund ordnen Sie die URL der View-Funktion zu:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Füge
myapp/urls.pyzumysite/urls.pyhinzu:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Füge die URL-Konfiguration von myapp hinzu ] -
Besuche
http://127.0.0.1:8000/myapp/. Du solltest die Seite "Hello, Django!" sehen.
6. Erstelle ein Modell
Lass uns ein einfaches Modell erstellen, um einige Daten zu speichern.
-
Bearbeite die Datei
myapp/models.pyund füge den folgenden Code hinzu:from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_textDies definiert ein Modell namens
Questionmit zwei Feldern:question_text(CharField) undpub_date(DateTimeField). -
Erstelle und wende Datenbankmigrationen an:
python manage.py makemigrations myapp python manage.py migrateDer Befehl
makemigrationserstellt Migrationsdateien basierend auf deinem Modell, und der Befehlmigratewendet die Migrationen auf die Datenbank an.
7. Verwende das Django-Admin-Backend
Django bietet ein leistungsstarkes Admin-Backend, mit dem du deine Daten einfach verwalten kannst.
-
Erstelle einen Superuser:
python manage.py createsuperuserGib Benutzername, E-Mail-Adresse und Passwort ein, wenn du dazu aufgefordert wirst.
-
Bearbeite die Datei
myapp/admin.pyund registriere dasQuestion-Modell:from django.contrib import admin from .models import Question admin.site.register(Question) -
Besuche
http://127.0.0.1:8000/admin/und melde dich mit dem von dir erstellten Superuser an. Du solltest das Modul "Questions" sehen, in dem du Fragen hinzufügen, bearbeiten und löschen kannst.
8. Verwende Vorlagen
Die Verwendung von Vorlagen ermöglicht eine flexiblere Generierung von HTML-Seiten.
-
Erstellen Sie im Verzeichnis
myappein Verzeichnis namenstemplatesund erstellen Sie im Verzeichnistemplatesein Verzeichnis namensmyapp(myapp/templates/myapp). -
Erstellen Sie im Verzeichnis
myapp/templates/myappeine Datei namensindex.htmlund fügen Sie den folgenden Code hinzu:Hello, Django! The current time is: {{ current_time }} -
Bearbeiten Sie die Datei
myapp/views.pyund verwenden Sie die Vorlage:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})Die Funktion
renderlädt die Vorlage und übergibt die Daten zur Darstellung an die Vorlage. //render函数会加载模板,并将数据传递给模板进行渲染。 -
Besuchen Sie erneut
http://127.0.0.1:8000/myapp/. Sie sollten eine Seite mit der aktuellen Uhrzeit sehen. // 重新访问http://127.0.0.1:8000/myapp/。 你应该能看到包含当前时间的页面。
9. Schlussfolgerung // 9. 结论
Mit diesem Leitfaden haben Sie die grundlegenden Konzepte und Verwendungsmethoden von Django kennengelernt, einschließlich der Einrichtung der Umgebung, der Erstellung von Projekten und Anwendungen, der Definition von Modellen, der Erstellung von Ansichten und der Verwendung von Vorlagen. // 通过本指南,你已经了解了 Django 的基本概念和使用方法,包括环境搭建、创建项目和应用、定义模型、创建视图和使用模板。 Dies ist nur der Anfang. Django bietet umfangreiche Funktionen, die Sie weiter erlernen und erkunden können, um komplexere Webanwendungen zu erstellen. // 这只是一个开始,Django 提供了丰富的功能,你可以继续学习和探索,构建更复杂的 Web 应用。





