Heim Backend-Entwicklung Python-Tutorial Weiterentwicklung der Django-Version: Erfahren Sie mehr über neue Funktionen und Verbesserungen von 1.x auf 3.x

Weiterentwicklung der Django-Version: Erfahren Sie mehr über neue Funktionen und Verbesserungen von 1.x auf 3.x

Jan 19, 2024 am 09:46 AM
版本 django 功能改进

Weiterentwicklung der Django-Version: Erfahren Sie mehr über neue Funktionen und Verbesserungen von 1.x auf 3.x

Django ist ein in Python geschriebenes Web-Framework. Seine Hauptmerkmale sind schnelle Entwicklung, einfache Erweiterung, hohe Wiederverwendbarkeit usw. Seit seiner ersten Einführung im Jahr 2005 hat sich Django zu einem leistungsstarken Webentwicklungs-Framework entwickelt.

Mit der Zeit werden die Django-Versionen ständig aktualisiert. Dieser Artikel bietet ein detailliertes Verständnis der Django-Versionsentwicklung, der Änderungen von 1.x auf 3.x, stellt neue Funktionen, Verbesserungen und Änderungen vor, die Aufmerksamkeit erfordern, und liefert detaillierte Codebeispiele.

  1. Django 1.x-Version

Django 1.x-Version ist die erste Version von Django, einschließlich von 1.0.1 bis 1.11.29. In dieser Version verfügt Django bereits über viele Grundfunktionen, wie zum Beispiel:

a Verwendung von ORM für Datenbankoperationen

ORM ist eine Kernkomponente von Django. Es ermöglicht Entwicklern, Python-Code zum Betreiben der Datenbank zu verwenden, ohne direkt SQL-Anweisungen zu verwenden. ORM macht den Betrieb einfacher und intuitiver. Ein einfaches Beispiel:

from django.db import models

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

class Author(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()

class Entry(models.Model):
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    pub_date = models.DateTimeField()
    mod_date = models.DateTimeField()
    authors = models.ManyToManyField(Author)
    n_comments = models.IntegerField()
    n_pingbacks = models.IntegerField()
    rating = models.IntegerField()
Nach dem Login kopieren

Im obigen Beispiel haben wir drei Datenmodelle definiert: Blog, Autor und Eintrag, die alle von models.Model erben. Die Attribute dieser Klassen entsprechen den Feldern in der Datenbanktabelle. Die Blog-Klasse verfügt beispielsweise über zwei Felder: Name und Slogan, die zum Speichern des Blognamens bzw. des Slogans vom Typ String verwendet werden. Während der Definition des Datenmodells generiert Django automatisch die entsprechenden Datenbanktabellen, fügt Vorgänge hinzu, löscht sie, ändert sie und fragt sie ab sowie die ORM-API.

b. URLs automatisch verwalten

In der Django 1.x-Version müssen wir nur die Ansichtsfunktion schreiben, um HTTP-Anfragen zu verarbeiten, und müssen URLs nicht selbst manuell verwalten. Django ordnet die Anfrage basierend auf dem konfigurierten URL-Routing automatisch der entsprechenden Ansichtsfunktion zu. Zum Beispiel:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]
Nach dem Login kopieren

Im obigen Beispiel haben wir vier URL-Routen definiert, darunter die Startseite, die Seite mit den Fragendetails, die Seite mit den Abstimmungsergebnissen und die Seite mit den Abstimmungsfunktionen. Für jede URL-Route geben wir die entsprechende Verarbeitungsfunktion an. Django ordnet die angeforderte URL automatisch der Route zu und realisiert so die Funktion der automatischen Verwaltung von URLs.

c. Integriertes Admin-Hintergrundverwaltungssystem

Djangos Admin-Hintergrundverwaltungssystem ist eine sehr leistungsstarke Funktion. Über dieses Hintergrundverwaltungssystem können wir die Datenbank einfach hinzufügen, löschen, ändern und überprüfen. Das Admin-Hintergrundverwaltungssystem in der Django 1.x-Version verfügt bereits über viele Grundfunktionen, wie z. B. die automatische Generierung von Admin-Sites, die Verwaltung von Datenmodellen, die Anzeige benutzerdefinierter Listen, Filter und Formulare usw.

  1. Django 2.x-Version

Django 2.x-Version umfasst 2.0.0 bis 2.2.24, was einige wesentliche Verbesserungen für Django mit sich bringt.

a. Einführung von ASGI

In der Django 2.x-Version wurde das ASGI-Protokoll (Asynchronous Server Gateway Interface) eingeführt. ASGI ist ein für asynchrone Webserver entwickeltes Protokoll, das es Entwicklern ermöglicht, asynchrone Webanwendungen zu schreiben. Auf diese Weise können wir die Anforderungen der asynchronen Programmierung wie Websockets, Echtzeitkommunikation, zeitaufwändige Aufgaben usw. besser erfüllen.

async def application(scope, receive, send):
    assert scope['type'] == 'http'

    await send({
        'type': 'http.response.start',
        'status': 200,
        'headers': [
            [b'content-type', b'text/plain'],
        ]
    })
    await send({
        'type': 'http.response.body',
        'body': b'Hello, world!',
    })
Nach dem Login kopieren

Das obige Codebeispiel verwendet ASGI, um eine einfache Webanwendung zu schreiben. Definieren Sie zunächst eine asynchrone Anwendungsfunktion, die drei Parameter akzeptiert: Bereich, Empfang und Senden. Diese Parameter werden durch das ASGI-Protokoll festgelegt und vereinbart. Unter diesen stellt der Bereich den Kontext der Anforderung dar, einschließlich des Anforderungstyps, des Pfads, der Abfragezeichenfolge usw.; „Empfangen“ stellt die Methode zum Empfangen der Anforderung dar und stellt ein Wörterbuch zur Darstellung des Anforderungsheaders, des Antwortcodes usw. dar eine Antwort an den Kunden zurücksenden.

b. Python 2.x-Kompatibilität entfernt

In der Django 2.x-Version wurde die Python 2.x-Kompatibilität entfernt und Python 2.x-Versionen von Drittanbieterbibliotheken werden nicht mehr unterstützt. Dies bedeutet, dass Entwickler Python 3.x verwenden müssen, um Django-Anwendungen zu entwickeln.

Darüber hinaus verfügt die Django 2.x-Version über einige weitere Verbesserungen und Optimierungen, wie zum Beispiel:

  • Neue HTTP-Statuscodes und Ausnahmen hinzugefügt;
  • Einen besseren Passwort-Sicherheitsmechanismus hinzugefügt;
  • Unterstützung für bessere Tests und ein neues Test-Framework eingeführt.
  1. Django 3.x-Version

Django 3.x-Version ist derzeit die neueste Version, einschließlich von 3.0.0 bis 3.2.5. Es verbessert seine Funktionalität und Leistung basierend auf Version 2.x weiter.

a. Unterstützung von Pfadparametern

In der Django 3.x-Version wurden Pfadkonverter, also die Unterstützung von Pfadparametern, eingeführt. Diese neue Funktion ist sehr nützlich für die Entwicklung von RESTful-APIs und kann eine flexiblere Matching-Methode für URLs bieten.

from django.urls import path

def greet(request, name):
    return HttpResponse(f'Hello, {name}!')

urlpatterns = [
    path('greet/<name>/', greet),
    ...
]
Nach dem Login kopieren

Im obigen Beispiel haben wir einen Pfadparameternamen definiert. Jeder Wert im Anforderungspfad kann in den Namensparameter eingefügt und bei der Verarbeitung der Ansicht als solcher dargestellt werden.

b. Ersatz von UnicodeSlugify

In der Django 3.x-Version wird UnicodeSlugify nicht mehr als Ersatz für das Standard-Slugify verwendet. UnicodeSlugify ist eine Bibliothek eines Drittanbieters, die es Entwicklern ermöglicht, mit mehr Sprachen und Zeichensätzen zu arbeiten. Anstelle von UnicodeSlugify wurde für Django ein neuer Slugify-Algorithmus entwickelt, der standardisierter, lokalisierter, umfassender, skalierbarer und sicherer ist.

c. Datenbankabfrage optimieren

In der Django 3.x-Version wurde die Datenbankabfragemethode weiter optimiert. Wenn beispielsweise die Anwendung gestartet wird, speichert Django die Metadaten für alle Datenbankabfragen zwischen. Dies kann die Anzahl der Nachschlagevorgänge in der Tabellenstruktur reduzieren und die Reaktionsgeschwindigkeit der Anwendung verbessern.

Darüber hinaus bietet die Django 3.x-Version viele weitere neue Funktionen und Verbesserungen, wie zum Beispiel:

  • Neue Middleware, die mehrere Lesedatenbanken unterstützt;
  • Erheblich optimierte Abfrageplangenerierung;
  • Unterstützung für sich dynamisch ändernde Aggregation und Gruppierungsabfragen;
  • Unterstützung für asynchrone E-Mails und HTTP-Anfragen hinzugefügt

Dieser Artikel erläutert kurz die Änderungen in der Entwicklung von Django 1.x zu Django 3.x. Diese Änderungen führen zu einer besseren Leistung, einer besseren Entwicklungseffizienz und einer besseren Benutzerfreundlichkeit. Ich glaube, dass Django als MVC-Framework immer perfekter werden wird.

Das obige ist der detaillierte Inhalt vonWeiterentwicklung der Django-Version: Erfahren Sie mehr über neue Funktionen und Verbesserungen von 1.x auf 3.x. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

Einfache Schritte zum Aktualisieren der Pip-Version: in 1 Minute erledigt Einfache Schritte zum Aktualisieren der Pip-Version: in 1 Minute erledigt Jan 27, 2024 am 09:45 AM

In einer Minute erledigt: So aktualisieren Sie die Pip-Version. Mit der rasanten Entwicklung von Python ist Pip zu einem Standardtool für die Python-Paketverwaltung geworden. Mit der Zeit werden die Pip-Versionen jedoch ständig aktualisiert. Um die neuesten Funktionen nutzen und mögliche Sicherheitslücken schließen zu können, ist es sehr wichtig, die Pip-Version zu aktualisieren. In diesem Artikel wird erläutert, wie Sie Pip in einer Minute schnell aktualisieren können, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir ein Befehlszeilenfenster öffnen. In Windows-Systemen können Sie verwenden

Überprüfen Sie die Version des Kirin-Betriebssystems und des Kernels Überprüfen Sie die Version des Kirin-Betriebssystems und des Kernels Feb 21, 2024 pm 07:04 PM

Überprüfen der Kylin-Betriebssystemversion und der Kernelversion Im Kirin-Betriebssystem ist das Wissen, wie die Systemversion und die Kernelversion überprüft werden, die Grundlage für die Systemverwaltung und -wartung. Methode 1 zum Überprüfen der Kylin-Betriebssystemversion: Verwenden Sie die Datei /etc/.kyinfo. Um die Kylin-Betriebssystemversion zu überprüfen, können Sie die Datei /etc/.kyinfo überprüfen. Diese Datei enthält Informationen zur Betriebssystemversion. Führen Sie den folgenden Befehl aus: cat/etc/.kyinfo Dieser Befehl zeigt detaillierte Versionsinformationen des Betriebssystems an. Methode 2: Verwenden Sie die Datei /etc/issue. Eine andere Möglichkeit, die Betriebssystemversion zu überprüfen, besteht darin, sich die Datei /etc/issue anzusehen. Diese Datei enthält auch Versionsinformationen, ist jedoch möglicherweise nicht so gut wie die .kyinfo-Datei

So überprüfen Sie ganz einfach die installierte Version von Oracle So überprüfen Sie ganz einfach die installierte Version von Oracle Mar 07, 2024 am 11:27 AM

Um die installierte Version von Oracle einfach zu überprüfen, sind spezifische Codebeispiele erforderlich. Da es sich bei der Oracle-Datenbank um eine in Datenbankverwaltungssystemen auf Unternehmensebene weit verbreitete Software handelt, gibt es viele Versionen und unterschiedliche Installationsmethoden. In unserer täglichen Arbeit müssen wir häufig die installierte Version der Oracle-Datenbank auf entsprechende Betriebs- und Wartungsarbeiten überprüfen. In diesem Artikel erfahren Sie, wie Sie die installierte Version von Oracle einfach überprüfen können, und geben konkrete Codebeispiele. Methode 1: Durch SQL-Abfrage in der Oracle-Datenbank können wir

Interpretieren Sie die Bedeutung und den Unterschied der PHP-Version NTS Interpretieren Sie die Bedeutung und den Unterschied der PHP-Version NTS Mar 27, 2024 am 11:48 AM

Die Bedeutung und der Unterschied der PHP-Version NTS PHP ist eine beliebte serverseitige Skriptsprache, die im Bereich der Webentwicklung weit verbreitet ist. Es gibt zwei Hauptversionen von PHP: ThreadSafe (TS) und Non-ThreadSafe (NTS). Auf der offiziellen Website von PHP können wir zwei verschiedene PHP-Download-Versionen sehen, nämlich PHPNTS und PHPTS. Was bedeutet also die PHP-Version NTS? Was ist der Unterschied zur TS-Version? Nächste,

Nach 750.000 Runden Einzelkampf zwischen großen Modellen gewann GPT-4 die Meisterschaft und Llama 3 belegte den fünften Platz Nach 750.000 Runden Einzelkampf zwischen großen Modellen gewann GPT-4 die Meisterschaft und Llama 3 belegte den fünften Platz Apr 23, 2024 pm 03:28 PM

Zu Llama3 wurden neue Testergebnisse veröffentlicht – die große Modellbewertungs-Community LMSYS veröffentlichte eine große Modell-Rangliste, die Llama3 auf dem fünften Platz belegte und mit GPT-4 den ersten Platz in der englischen Kategorie belegte. Das Bild unterscheidet sich von anderen Benchmarks. Diese Liste basiert auf Einzelkämpfen zwischen Modellen, und die Bewerter aus dem gesamten Netzwerk machen ihre eigenen Vorschläge und Bewertungen. Am Ende belegte Llama3 den fünften Platz auf der Liste, gefolgt von drei verschiedenen Versionen von GPT-4 und Claude3 Super Cup Opus. In der englischen Einzelliste überholte Llama3 Claude und punktgleich mit GPT-4. Über dieses Ergebnis war Metas Chefwissenschaftler LeCun sehr erfreut und leitete den Tweet weiter

Wie kann man feststellen, ob die dp-Schnittstelle 1.2 oder 1.4 ist? Wie kann man feststellen, ob die dp-Schnittstelle 1.2 oder 1.4 ist? Feb 06, 2024 am 10:27 AM

Die DP-Schnittstelle ist ein wichtiges Schnittstellenkabel im Computer. Viele Benutzer möchten wissen, wie sie überprüfen können, ob die DP-Schnittstelle 1.2 oder 1.4 ist. Tatsächlich müssen sie sie nur in GPU-Z überprüfen. So ermitteln Sie, ob die dp-Schnittstelle 1.2 oder 1.4 ist: 1. Wählen Sie zunächst „Erweitert“ in GPU-Z. 2. Schauen Sie sich „Monitor1“ in „Allgemein“ unter „Erweitert“ an, dort sehen Sie die beiden Punkte „LinkRate (aktuell)“ und „Lanes (aktuell)“. 3. Wenn schließlich 8,1 Gbit/s × 4 angezeigt wird, bedeutet dies DP1.3-Version oder höher, normalerweise DP1.4. Wenn es 5,4 Gbit/s × 4 ist

Um Python einfach unter Windows zu installieren, können Sie zwischen zwei Methoden wählen Um Python einfach unter Windows zu installieren, können Sie zwischen zwei Methoden wählen Feb 18, 2024 pm 04:57 PM

Warum ist Python so beliebt? Der Grund ist einfach: Es ist leicht zu erlernen, einfach zu bedienen und schnell anzuwenden, sodass es auch für Anfänger geeignet ist. Egal um welches Projekt es sich handelt, solange es um Programmierung geht, ist Python oft meine erste Wahl. Darüber hinaus müssen Sie nicht bei Linux-Systemen bleiben, Windows kann es auch gut unterstützen. Ich habe Python auf meinem Windows 11-Betriebssystem installiert und verwende es oft, um Programme zu schreiben und Code auszuführen. Die Installation von Python unter Windows ist sehr einfach. Als Nächstes werde ich zwei gängige Installationsmethoden vorstellen. Wählen Sie die entsprechende Python-Version. Es ist sehr wichtig, die richtige Version auszuwählen. Dies hängt mit der Kompatibilität und Funktionalität des Programms zusammen: Die aktuellen Versionen umfassen Python2 und

See all articles