Heim  >  Artikel  >  Backend-Entwicklung  >  Erste Schritte mit Django: Ein prozedurales Python-Web-Framework-Tutorial

Erste Schritte mit Django: Ein prozedurales Python-Web-Framework-Tutorial

WBOY
WBOYOriginal
2023-06-22 10:06:40859Durchsuche

Django ist ein Open-Source-Python-Webframework, das hoch skalierbar und flexibel ist. Es übernimmt das Entwurfsmuster „Model-View-Controller (MVC)“, um die Entwicklung von Webanwendungen schnell und effizient zu gestalten. Dieser Artikel bietet eine detaillierte Einführung in die Grundkenntnisse von Django, das Importieren und Installieren von Django, das Erstellen einer Datenbank, den Modellaufbau und die Erstellung von Ansichten, um Anfängern bei der Beherrschung von Django zu helfen.

1. Grundkenntnisse von Django
Zu den Hauptkomponenten von Django gehören: URL-Planer, Vorlagen-Engine, Ansichten und Datenbankzugriffsebene usw. Django unterstützt mehrere Datenbanken und verwendet ORM-Tools (Object Relational Mapping), um Objektdarstellungen bereitzustellen und auf Datenbanken zuzugreifen. Es unterstützt mehrere Webserver gleichzeitig, wie Apache, Nginx usw. Django bietet außerdem eine Fülle von Funktionen und Komponenten, wie z. B. Management-Backend, Formularverarbeitung, Internationalisierung, Sicherheit und Authentifizierung usw.

2. Django importieren und installieren
Bevor Sie Django installieren, müssen Sie bestätigen, dass Python erfolgreich installiert wurde. Es gibt zwei Möglichkeiten, Django zu installieren: Zum einen die Verwendung des Befehls pip (empfohlen) und zum anderen das manuelle Herunterladen und Installieren. Hier stellen wir die Pip-Installationsmethode vor.

  1. Erstellen Sie eine virtuelle Umgebung
    Virtuelle Umgebungen können uns dabei helfen, verschiedene abhängige Bibliotheken in verschiedenen Projekten zu verwalten. Zuerst müssen wir ein Modul namens virtualenv installieren. Geben Sie zur Installation den folgenden Befehl in der Befehlszeile ein (vorausgesetzt, pip ist bereits installiert).
pip install virtualenv

Als nächstes erstellen Sie eine neue virtuelle Umgebung mit dem folgenden Befehl.

virtualenv djangoenv

In diesem Beispiel lautet der Name der virtuellen Umgebung djangoenv.

  1. Django installieren
    In der virtuellen Umgebung verwenden Sie den folgenden Befehl, um Django zu installieren.
pip install Django

Dieser Befehl lädt automatisch die neueste Version herunter und installiert sie im Site-Packages-Verzeichnis der virtuellen Umgebung.

3. Erstellen Sie eine Datenbank
Django unterstützt mehrere Datenbanksysteme wie MySQL, PostgreSQL usw. In diesem Artikel verwenden wir die Standard-SQLite-Datenbank. SQLite ist nach der Installation von Python bereits installiert.

  1. Projekt erstellen
    Verwenden Sie den folgenden Befehl, um ein neues Django-Projekt zu erstellen.
django-admin startproject mysite

In diesem Beispiel lautet der Name des Projekts mysite.

  1. Eine Anwendung erstellen
    Django-Anwendungen bestehen aus Modellen, Ansichten und Vorlagen. Hier erstellen wir eine Anwendung namens Blog.
cd mysite
python manage.py startapp blog

Dieser Befehl erstellt ein Verzeichnis namens blog im Stammverzeichnis des Projekts.
Hinweis: Dieser Befehl muss im Stammverzeichnis des Projekts ausgeführt werden.

  1. Konfigurieren Sie die Datenbank
    Öffnen Sie die Datei mysite/settings.py und stellen Sie DATABASES so ein, dass es wie folgt aussieht:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Diese Einstellung legt den Datenbanktyp auf SQLite fest und nennt die Datenbankdatei db.sqlite3. Die Einstellung DATABASES unterstützt auch andere relationale Datenbanken wie MySQL und PostgreSQL.

  1. Migrationen ausführen
    Django verwendet Migrationen, um die Synchronisierung von Datenmodellen und Datenbanken zu verwalten. Führen Sie die erste Migration mit dem folgenden Befehl aus.
python manage.py makemigrations
python manage.py migrate

Dieser Befehl erstellt eine Datenbankdatei und die erforderlichen Tabellen, um das Datenbankmodell für alle von Django verwendeten Anwendungen zu verwalten.

4. Modellkonstruktion
Das Modell ist der Schlüsselbestandteil der Zuordnung von Daten zur Datenbank. Um das Modell verwenden zu können, müssen wir eine Python-Klasse definieren, die zum Definieren der Tabelle in der Datenbank verwendet wird. Djangos ORM unterstützt viele verschiedene Datenbanktypen und der Einfachheit halber verwenden wir in diesem Artikel die SQLite-Datenbank.

  1. Modell erstellen
    Erstellen Sie eine Python-Klasse und definieren Sie ihre Eigenschaften. Diese Klasse dient als Datenmodell für die Anwendung.
from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()

    def __str__(self):
        return self.title
  1. Modellmigration
    Nachdem wir das Modell erstellt haben, müssen wir den folgenden Befehl ausführen, um das Modell in die Datenbank zu migrieren.
python manage.py makemigrations blog
python manage.py migrate

Dieser Befehl erstellt eine neue Tabelle in der Datenbank, die unser definiertes Datenmodell enthält.

5. Ansichtserstellung
Ansicht ist der Teil, in dem Benutzer mit der Anwendung interagieren. Eine Ansicht ist eine Reihe von Funktionen, die Daten aus dem Modell abrufen und die Ergebnisse im Browser des Benutzers rendern. In Django müssen alle Ansichten ein HTTP-Antwortobjekt zurückgeben. Django bietet auch einige häufig verwendete Ansichtstypen.

  1. Ansichten erstellen
    Erstellen Sie die folgenden Ansichten in der Datei blog/views.py.
from django.shortcuts import render
from django.http import HttpResponse
from .models import Blog

def index(request):
    latest_blog_list = Blog.objects.order_by('-pub_date')[:5]
    context = {'latest_blog_list': latest_blog_list}
    return render(request, 'blog/index.html', context)

def detail(request, blog_id):
    blog = Blog.objects.get(pk=blog_id)
    return render(request, 'blog/detail.html', {'blog': blog})

Hier sind zwei Ansichten definiert: Index und Detail. Die Indexansicht ruft die letzten fünf Blogbeiträge ab und rendert sie nacheinander in die HTML-Vorlage. In der Detailansicht werden die Details eines Blogbeitrags in eine HTML-Vorlage umgewandelt.

  1. Vorlagen erstellen
    In der von uns definierten Ansicht haben wir zwei HTML-Vorlagen verwendet: index.html und detail.html. Erstellen Sie im Stammverzeichnis der Blog-Anwendung ein Verzeichnis mit dem Namen „templates“ und unter dem Vorlagenverzeichnis ein Verzeichnis mit dem Namen „blog“. Erstellen Sie im Blog-Verzeichnis zwei HTML-Dateien mit den Namen „index.html“ und „detail.html“.

index.html

{% if latest_blog_list %}
    <ul>
    {% for blog in latest_blog_list %}
        <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No blogs are available.</p>
{% endif %}

detail.html

<h1>{{ blog.title }}</h1>
<p>{{ blog.body }}</p>
<p>Published on {{ blog.pub_date }}</p>
  1. 创建URL
    最后,我们要将视图与URL相关联。在blog应用程序的根目录下创建一个名为“urls.py”的文件,并添加以下内容。
from django.urls import path

from . import views

app_name = 'blog'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:blog_id>/', views.detail, name='detail'),
]

在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“283b0284c70ce5b35f6a4cddbe3f14e7/”定义了一个变量blog_id,并将其传递给detail视图函数。

六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。

python manage.py runserver

如果一切正常,您将看到以下输出。

Performing system checks...

System check identified no issues (0 silenced).
September 18, 2021 - 18:13:35
Django version 3.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。

七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。

Das obige ist der detaillierte Inhalt vonErste Schritte mit Django: Ein prozedurales Python-Web-Framework-Tutorial. 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