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: