Django-Tutorial: Funktionen Architektur & Geschichte

โšก Intelligente Zusammenfassung

Django ist eine kostenlose Open-Source-Software. Python Webframework, das auf dem Model-View-Template-Muster basiert und die schnelle Entwicklung sicherer, skalierbarer, datenbankgestรผtzter Websites durch wiederverwendbare Komponenten, eine automatische Admin-Oberflรคche und ein umfassendes Design ermรถglicht.

  • ๐Ÿ”˜ Framework: Django ist eine High-Level-Architektur. Python Framework fรผr die schnelle Entwicklung komplexer, datenbankgestรผtzter Webanwendungen.
  • โ˜‘๏ธ ArchiStruktur: Das Model-View-Template (MVT)-Muster ermรถglicht es Django, den Controller zu verwalten und Daten, Logik und Prรคsentation zu trennen.
  • โœ… Batterien enthalten: Integrierte Administrations-, Authentifizierungs-, Formular- und Internationalisierungsfunktionen reduzieren den GroรŸteil des wiederkehrenden Einrichtungsaufwands.
  • ๏ธ Sicherheit: StandardmรครŸige Sicherheitsvorkehrungen blockieren CSRF-, Cross-Site-Scripting-, SQL-Injection- und Clickjacking-Angriffe.
  • ๐Ÿงช MaรŸstab: InstagramPinterest, Mozilla und Disqus setzen auf Django, um sehr hohe Besucherzahlen zu bewรคltigen.
  • ๐Ÿค– AI: Django stellt Machine-Learning-Modelle als APIs bereit, und Assistenten wie GitHub Copilot beschleunigen die Backend-Programmierung.

Django-Tutorial fรผr Anfรคnger

Django ist die Basis einiger der grรถรŸten Websites im Web, wรคhrend keeping Schnelle und organisierte Entwicklung im Alltag. Bevor wir uns mit den Funktionen, der Architektur und der Geschichte befassen, beginnen die folgenden Abschnitte mit den Grundlagen von Web-Frameworks und den Besonderheiten von Django.

Zusammenfassung des Django-Tutorials

Dieses Django-Tutorial behandelt alle grundlegenden Themen von Grund auf. Sie lernen darin Konzepte wie die Definition von Django, seine Geschichte, seine Funktionen, die Eigenschaften des Django-Frameworks, die Komponenten von Django, seine Vor- und Nachteile und vieles mehr.

Bevor wir Django lernen, sollten wir Folgendes verstehen:

Was ist ein Webframework?

Ein Web-Framework ist eine Codebibliothek, die Ihnen hilft, eine flexible, skalierbare und wartungsfreundliche dynamische Website, Webanwendung oder einen Webdienst zu erstellen. Zu den verschiedenen Web-Frameworks gehรถren beispielsweise Zend fรผr PHP. Ruby on Rails fรผr Ruby und andere.

Was ist Django?

Django ist ein Web-Entwicklungsframework fรผr Python Dieses Framework bietet Standardmethoden fรผr eine schnelle und effektive Website-Entwicklung. Sein Hauptziel ist die Erstellung komplexer, datenbankgestรผtzter Websites. Es unterstรผtzt Sie beim Erstellen und Pflegen hochwertiger Webanwendungen und ermรถglicht einen reibungslosen und zeitsparenden Entwicklungsprozess fรผr eine zรผgige Umsetzung.

Warum Django? Hauptvorteile von Django

Hier sind die Hauptvorteile von Django:

  • Django ist einfach einzurichten und auszufรผhren. Es bietet eine Vielzahl von Optionen fรผr den Einstieg.
  • Es bietet eine sofort einsatzbereite Benutzeroberflรคche fรผr administrative Tรคtigkeiten.
  • Es ermรถglicht mehrsprachige Websites durch die Nutzung seines integrierten Internationalisierungssystems.
  • Es hilft Ihnen, auch groรŸe Verkehrsaufkommen schnell zu bewรคltigen.
  • Django wird zur Entwicklung von Content-Management-Systemen aller Art, sozialen Netzwerken sowie wissenschaftlichen Rechenplattformen verwendet.
  • Django hilft Ihnen bei der Durchfรผhrung von End-to-End-Anwendungstests.
  • Es hilft Ihnen dabei, Ihre API mit einer HTML-Ausgabe zu dokumentieren.
  • Das REST-Framework bietet umfassende Unterstรผtzung fรผr verschiedene Authentifizierungsprotokolle.
  • Es bietet Berechtigungen und Drosselungsrichtlinien.
  • Es wird hรคufig zur Ratenbegrenzung von API-Anfragen eines einzelnen Benutzers verwendet.

Geschichte von Django

Jahr Milestone
2003 Das Projekt wurde von Adrian Holovaty und Simon Willison als internes Projekt bei der Zeitung Lawrence Journal-World ins Leben gerufen.
Juli 2005 Es wurde im Juli 2005 unter dem Titel โ€žDjangoโ€œ verรถffentlicht, benannt nach dem Jazzgitarristen Django Reinhardt.
Juni 2008 Es wurde erklรคrt, dass eine Django-Software Foundation (DSF) wรผrde Django beibehalten.
29 Juli 2009 Django 1.1 wurde mit Funktionen wie Aggregaten und transaktionsbasierten Tests verรถffentlicht.
17. Mai 2010 Django 1.2 wurde verรถffentlicht. Das Update bot Funktionen wie mehrere Datenbanken und ein E-Mail-Backend, und es wurden Verbesserungen fรผr Sitzungen und Cookies vorgenommen.
Mรคrz 23 2011 Mit Version 1.3 wurden Funktionen wie klassenbasierte Ansichten und statische Dateien eingefรผhrt.
Mรคrz 23 2012 Die Version 1.4 wurde mit neuen Funktionen wie Zeitzonen und In-Browser-Tests verรถffentlicht.
Februar 26 2013 Die Version 1.5 wurde mitgeliefert Python 3 Unterstรผtzung und konfigurierbare Benutzermodellfunktionen.
6. November 2013 Die Version 1.6 enthielt Funktionen fรผr Datenbanktransaktionsmanagement und Verbindungspooling.
2 September 2014 Die Version 1.7 enthielt neue Funktionen wie das Laden von Anwendungen, Migrationen und Konfiguration.
1 April 2015 Native Unterstรผtzung wurde fรผr mehrere Template-Engines bereitgestellt.
1 Dec 2015 In Version 1.9 wurde eine automatische Passwortvalidierungsfunktion eingefรผhrt.
1 August 2016 In Version 1.10 ist die Volltextsuche fรผr PostgreSQL wurde gestartet.
4 April 2017 Version 1.11 war die letzte Version, die dies unterstรผtzte. Python 2.7
2 Dec 2017 Version 2.0 wurde die erste Python Nur 3-teilige Version erhรคltlich.
1 August 2018 Version 2.1 enthielt Funktionen zur Unterstรผtzung der Modellberechtigung โ€žAnzeigenโ€œ.
2021 Die Unterstรผtzung fรผr Django 3.0 wurde entfernt und die Unterstรผtzung fรผr Django 3.2 hinzugefรผgt.

In diesem Django-Tutorial fรผr Anfรคnger lernen wir nun die Funktionen von Django kennen.

Eigenschaften von Django

Nachfolgend sind die Funktionen von Django aufgefรผhrt:

  • Hilft Ihnen dabei, Muster fรผr die URLs in Ihrer Bewerbung.
  • Einfach, aber leistungsstark URL System.
  • Integriertes Authentifizierungssystem.
  • Eine objektorientierte Programmiersprachendatenbank, die erstklassige Datenspeicherung und -abfrage bietet.
  • Die automatische Admin-Oberflรคche ermรถglicht das Hinzufรผgen, Bearbeiten und Lรถschen von Elementen. Sie kรถnnen das Admin-Panel Ihren Bedรผrfnissen entsprechend anpassen.
  • Das Cache-Framework beinhaltet mehrere Cache-Mechanismen.

In diesem Django-Framework-Tutorial lernen wir nun die Eigenschaften von Django kennen.

Eigenschaften von Django

Hier sind die Hauptmerkmale von Django:

  • Locker verbunden โ€“ Django hilft Ihnen dabei, jedes Element seines Stacks von den anderen unabhรคngig zu machen.
  • Less Code โ€“ Gewรคhrleistet eine effektive Entwicklung.
  • Nicht wiederholt โ€“ Alles sollte genau an einem Ort entwickelt werden, anstatt es immer wieder zu wiederholen.
  • Schnelle Entwicklung โ€“ Django bietet eine schnelle und zuverlรคssige Anwendungsentwicklung.
  • Konsistentes Design โ€“ Django zeichnet sich durch ein klares Design aus und erleichtert die Einhaltung bewรคhrter Webentwicklungspraktiken.

Als nรคchstes lernen wir in diesem Django-Anfรคnger-Tutorial die Architektur von Django kennen.

Django ArchiTextur: MVC und MVT

Nachfolgend finden Sie eine detaillierte Architektur von Django:

Django Architektur

Django Architektur

MVC-Muster

Wenn wir รผber Anwendungen mit Benutzeroberflรคche (Web oder Desktop) sprechen, meinen wir รผblicherweise die MVC-Architektur. Das MVC-Muster basiert auf Modell, Ansicht und Controller.

Das Modell definiert die Datenstruktur und kรผmmert sich um die Abfrage der Datenbank.

Das Ansehen Definiert, welche Daten prรคsentiert werden sollen und gibt eine HTTP-Antwort zurรผck.

Das Controller ist der Teil der Anwendung, der die Benutzerinteraktion verarbeitet.

Django MVC-MVT-Muster

Das Model-View-Template (MVT)-Architekturmuster unterscheidet sich grundlegend vom MVC-Muster. Der Hauptunterschied besteht darin, dass Django den Controller (den Softwarecode, der die Interaktionen zwischen Model und View steuert) selbst verwaltet. Das Template ist eine HTML-Datei, die mit einer Django Template Language (DTL)-Datei kombiniert wird.

Das folgende Diagramm zeigt, wie alle Komponenten des MVT-Musters miteinander interagieren, um eine bestimmte Benutzeranfrage zu bedienen.

Django ArchiTextur: MVC und MVT

MVT Architektur

Wie im obigen Diagramm dargestellt, fordert ein Benutzer eine Ressource von Django an. Django fungiert als Controller und prรผft, ob die Ressource verfรผgbar ist. URL.

Besitzt das URL Bei der Verwendung von Maps wird eine Ansicht aufgerufen, die mit dem Modell und der Vorlage interagiert. Django antwortet dem Benutzer und sendet eine Vorlage als Antwort.

In dieser Django-Tutorialreihe fรผr Anfรคnger lernen wir nun die Komponenten von Django kennen.

Komponenten von Django

Form

Django verfรผgt รผber eine leistungsstarke Formularbibliothek, die das Rendern von Formularen als HTML รผbernimmt. Die Bibliothek hilft bei der Validierung รผbermittelter Daten und deren Konvertierung in Python Typen.

Authentifizierung

Es verwaltet Benutzerkonten, Gruppen, Cookie-basierte Benutzersitzungen und vieles mehr.

Administrator

Es liest Metadaten in Ihren Modellen, um eine robuste Schnittstelle bereitzustellen, die zum Verwalten von Inhalten auf Ihrer Website verwendet werden kann.

Internationalisierung

Django bietet Unterstรผtzung fรผr die รœbersetzung von Texten in verschiedene Sprachen sowie fรผr die lรคnderspezifische Formatierung von Datumsangaben, Uhrzeiten, Zahlen und Zeitzonen.

Sicherheit

Django bietet Schutzmechanismen gegen die folgenden Angriffe:

  • Cross-Site Request Forgery (CSRF)
  • Cross-Site-Skripting
  • SQL-Injection
  • Clickjacking
  • Remote-Codeausfรผhrung

Berรผhmte Unternehmen, die Django verwenden

Hier sind einige Unternehmen, die Django verwenden:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (ร–ffentlicher Rundfunkdienst)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post berichtet
  • Die New York Times
  • Los Angeles Times
  • The Guardian
  • National Geographic
  • Discovery Channel

Nachteile der Verwendung von Django

Hier sind einige Nachteile der Verwendung von Django:

  • Ein einzelner Prozess kann nicht mehrere Anfragen gleichzeitig bearbeiten.
  • Django ist ein sehr monolithisches Tool.
  • Die Komponenten werden gemeinsam bereitgestellt, was zu Verwirrung fรผhren kann.
  • Um mit Django arbeiten zu kรถnnen, sind Kenntnisse des gesamten Systems erforderlich.
  • Dadurch werden die Komponenten von Webanwendungen eng miteinander verknรผpft.
  • Fรผr kleinere Aufgaben mรผssen Sie langwierige Programmierungen durchfรผhren.

Hรคufig gestellte Fragen

Django ist in erster Linie ein Backend-Framework, wird aber oft als Full-Stack bezeichnet, da seine Template-Schicht HTML rendert. Es verwaltet serverseitige Logik, Datenbanken, Routing und Sicherheit, wรคhrend Templates die Darstellung fรผr den Browser รผbernehmen.

Django ist ein umfassendes Full-Stack-Framework mit integriertem ORM, Admin-Panel und Authentifizierung. Flask hingegen ist ein schlankes Mikroframework, das minimalistisch bleibt und fรผr dieselben Funktionen auf Erweiterungen setzt, wodurch Entwickler mehr Kontrolle erhalten.

Der Django ORM, oder Objekt-Relationale Mapper, ermรถglicht es Ihnen, Datenbanktabellen zu definieren als Python Klassen und Abfragen mit Python Code anstelle von rohem SQL. Es unterstรผtzt Datenbanken wie z. B. PostgreSQL, MySQL, SQLite und Oracle.

Fรผhren Sie `python -m django --version` in der Kommandozeile aus oder รถffnen Sie eine Datei. Python Fรผhren Sie in der Shell den Befehl `import django` und anschlieรŸend `print(django.get_version())` aus. Beide Befehle zeigen die Versionsnummer der installierten Django-Version an.

Middleware ist eine Reihe von Hooks, die jede Anfrage und Antwort global verarbeiten. Django verwendet Middleware fรผr Sessions, Authentifizierung, CSRF-Schutz und Sicherheitsheader; diese werden jeweils vor und nach der Ausfรผhrung der View ausgefรผhrt.

Kenntnisse in Python Grundkenntnisse in Webtechnologien wie HTTP, HTML und Datenbanken sind erforderlich. Das Verstรคndnis objektorientierter Programmierung erleichtert das Erlernen von Django-Modellen und klassenbasierten Ansichten erheblich.

Ja. Django stellt Machine-Learning-Modelle hรคufig รผber Views oder das Django REST Framework bereit und ermรถglicht so die Bereitstellung von Vorhersagen als API-Endpunkte. Ein trainiertes Modell wird einmalig beim Start geladen und liefert die Ergebnisse an Web- oder mobile Clients.

GitHub Copilot und รคhnliche KI-Assistenten vervollstรคndigen Django-Modelle und -Ansichten automatisch. URL Muster und Tests kรถnnen wiederkehrenden Boilerplate-Code generieren. Sie beschleunigen die Entwicklung, obwohl der generierte Code stets auf Sicherheit und Korrektheit รผberprรผft werden sollte.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: