Wenn Sie sich für Webentwicklung interessieren, werden Sie Django auf jeden Fall interessant finden. Django ist im Wesentlichen ein auf Python basierendes Webentwicklungsframework. Es wurde entwickelt, um Ihnen viel Zeit zu sparen und die Webentwicklung einfacher und unterhaltsamer zu gestalten. Mit Django können Sie ohne großen Aufwand hochwertige Webanwendungen erstellen und warten.

Die Webentwicklung an sich ist eine Mischung aus Kreativität, lustigen Elementen und einer Menge sich wiederholender Dinge. Mit Django können Sie sich auf die unterhaltsamen Elemente und den Hauptteil Ihrer Webanwendung konzentrieren, während die sich wiederholenden Teile weniger lästig sind. Mit anderen Worten, es bietet eine Verknüpfung zu häufigen Programmieraufgaben und Abstraktionen gängiger Muster in der Webentwicklung. Es gibt auch klare Konventionen zur Problemlösung. Dies alles und gibt Ihnen gleichzeitig die Freiheit, bei Bedarf auch außerhalb des Rahmens zu arbeiten.

Was ist ein Web Framework?

Bevor wir Django einführen, müssen wir natürlich zuerst wissen, was Web-Frameworks sind, da sie in heutigen Webanwendungen von Bedeutung sind. Sehen wir uns zum Verständnis der Web-Frameworks an, wie eine Python-Anwendung codiert, wenn Sie kein Framework verwenden. Am einfachsten geht das mit einem Common Gateway Interface (CGI). Sie müssen nur ein Skript mit einer HTML-Ausgabe erstellen und dann das Skript mit einem speichern. CGI-Erweiterung für einen Webserver. Für einfache Seiten ist ein Write-from-Scratch-Ansatz wahrscheinlich am besten. Der Code ist einfacher zu verstehen und es gibt keinen anderen Code zum Lesen. Es ist auch einfacher zu implementieren.

Trotz seiner Einfachheit ist der Ansatz mit mehreren Herausforderungen verbunden. Was würden Sie beispielsweise tun, wenn Sie mehrere Teile Ihrer Anwendung benötigen, um eine Verbindung zu einer Datenbank herzustellen? Wenn Sie wie oben beschrieben vorgehen, müssen Sie den Datenbankverbindungscode in jedem CGI-Skript duplizieren. Dies kann nicht nur umständlich sein, sondern auch die Wahrscheinlichkeit erhöhen, dass sich menschliches Versagen einschleicht. Die einfachere Methode wäre jedoch, diesen Code in eine gemeinsame Funktion zu setzen. Wenn der Code in verschiedenen Umgebungen mit einem separaten Kennwort und einer separaten Datenbank wiederverwendet wird, müssen Sie den Code für jede bestimmte Umgebung konfigurieren.

Wenn Sie nicht viel Erfahrung mit Python haben, treten mit größerer Wahrscheinlichkeit kleinere Fehler auf, die zum Absturz der Anwendung führen können. Die Logik der Seite würde sich idealerweise von den HTML-Anzeigeelementen trennen, sodass der Editor jedes Element bearbeiten könnte, ohne dass sich dies auf das andere auswirkt.

Ein Webframework behebt diese Probleme, indem es eine Infrastruktur zum Programmieren von Anwendungen bildet. Auf diese Weise können Sie sich darauf konzentrieren, besser wartbaren und saubereren Code zu schreiben. Dies ist auch, was Django tut.

Model View Controller

Django folgt dem MVC-Muster (Model-View-Controller) so genau, dass es fast als MVC-Framework kategorisiert werden kann. Dieses Muster unterteilt die Domänenmodellierung, Präsentationen und benutzereingabebasierten Aktionen in drei eindeutige Klassen. Um dies besser zu verstehen, werfen Sie einen Blick auf ein Python-CGI-Skript.

Ein Standard-CGI-Skript enthält einige einführende HTML-Elemente für das Front-End und anschließend eine Verbindung zu einer Datenbank. Hier ist ein Beispielcode für eine Datenbankverbindung in einem Python-CGI:

connection = MySQLdb.connect (user = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Danach haben Sie einen Ausführungsbefehl zum Ausführen der Abfrage. Sie haben dann HTML-Code, um die Ergebnisse der Abfrage im Front-End anzuzeigen. Zum Schluss schließen Sie die Verbindung mit einer einfachen Zeile:

connection.close ()

Mit Django haben Sie jetzt drei Python-Dateien, die mit ihren gekennzeichnet sind. py Suffix. Die erste wäre die Datenbanktabelle models.py. Die zweite würde die Anwendungslogik views.py enthalten. Und der dritte hätte die URL-Konfiguration, urls.py. Schließlich hätten Sie einige HTML-Elemente, um die Ergebnisse am Front-End zu präsentieren. Die Trennung in verschiedene Python-Dateien ist hier der Schlüssel; Sie müssen sich nicht um die Syntax kümmern.

Die Datei models.py enthält eine Beschreibung der Datenbanktabelle. Mit dieser Python-Klasse können Sie Datensätze mit einfachem Python-Code erstellen, löschen, abrufen und aktualisieren, anstatt SQL-Anweisungen zu wiederholen. Die Datei views.py enthält die Geschäftslogik und die Funktion latest_books () ist die Ansicht. Die Datei urls.py gibt an, welche Ansicht für eine bestimmte URL aufgerufen wird. Beispielsweise könnten Sie eine Ansicht codieren, die aufgerufen werden soll, wenn der Browser eine Domain-URL lädt / example /. Dies bedeutet, dass wenn Ihre Domain abc.com ist, ein Besuch der URL abc.com/example/ diese Funktion aufrufen würde.

Die HTML-Vorlage beschreibt das Seitendesign. Es verwendet eine Vorlagensprache und grundlegende logische Anweisungen. Insgesamt folgen diese Stücke dem MVC-Muster.

MVC ist eine Softwareentwicklungsmethode, bei der das Modell, das den Code für den Zugriff auf und die Definition von Daten darstellt, von der Steuerung, der Anforderungsroutinglogik und der Benutzeroberfläche, die ebenfalls von der Ansicht getrennt ist, getrennt ist. MVC ist nützlich, da die Komponenten sehr locker gekoppelt sind. Jeder Teil der Webanwendung hat somit seine eigenen Zwecke und kann unabhängig voneinander geändert werden, ohne dass andere Teile drastisch geändert werden müssen. Beispielsweise können Sie die URL an einem beliebigen Teil der Anwendung ändern, wodurch die Implementierung geändert wird, ohne den Python-Code zu berühren, mit dem sie gerendert wird. Sie können eine Tabelle in der Datenbank umbenennen und Änderungen an einer einzigen Stelle angeben, ohne Dutzende von Dateien zu ersetzen.

Empfohlene Kurse

  • Programm unter Windows 10
  • Kurs zum Testen professioneller Software
  • Python-Programmierschulungspaket
  • Beende das Django Training

Eine kurze Geschichte von Django

Jetzt, da Sie ein wenig über Web-Frameworks wissen, ist es Zeit, sich ein wenig mit der Geschichte von Django zu beschäftigen. Wenn Sie wissen, woher Django kommt, können Sie besser verstehen, wie es funktioniert und wie Sie seine Verknüpfungen bedienen. Wenn Sie Webanwendungen erstellt haben, kennen Sie wahrscheinlich bereits die mit CGI verbundenen Probleme. Der klassische Weg der Webentwicklung sieht so aus:

  1. Sie schreiben eine Webanwendung von Grund auf
  2. Sie schreiben eine zweite Bewerbung
  3. Sie erkennen, dass die beiden Anwendungen mehrere gemeinsame Elemente aufweisen
  4. Sie überarbeiten den Code, sodass Anwendung 1 denselben Code wie die zweite hat
  5. Sie wiederholen 2-4 ein paar Mal
  6. Sie erkennen, dass Sie einen Rahmen gebildet haben

So wurde auch Django geschaffen. Es wurde aus realen Anwendungen erstellt, die von einem Webentwicklungsteam in Kansas geschrieben wurden. Es wurde 2003 erstellt, als die Webprogrammierer Adrian Holovaty und Simon Willison anfingen, Python zum Erstellen von Anwendungen zu verwenden.

Das World Online-Team, das für die Pflege und Produktion mehrerer lokaler Nachrichtenseiten verantwortlich ist, sah enorme Vorteile in einer Webentwicklungsumgebung, die von den Fristen des Journalismus bestimmt wurde. Für die Websites wollten die Journalisten und das Management, dass Funktionen hinzugefügt und Anwendungen schnell und mit nur wenigen Tagen oder Stunden Vorlaufzeit erstellt werden. Die beiden Entwickler bildeten dann ein Webentwicklungs-Framework, um Zeit zu sparen und wartbare Anwendungen innerhalb der vorgegebenen Fristen zu erstellen.

Das Team veröffentlichte das Framework dann im Sommer 2005 als Open-Source-Software und nannte es Django nach Django Reinhardt, einem der wohl größten Jazzgitarristen aller Zeiten. Seitdem hat sich Django als beliebtes Open-Source-Projekt mit Tausenden von Unterstützern, Mitwirkenden und Nutzern weltweit etabliert. Zwei der ursprünglichen Entwickler, Jacob und Adrian, gaben immer noch ihre zentrale Anleitung für das Wachstum des Frameworks.

Aber warum diskutieren wir überhaupt über die Geschichte von Django? Aus zwei Gründen. Das erste ist, dass es hilft, den "Sweet Spot" der Software zu identifizieren und zu erklären. Django entstammt einer Nachrichtenumgebung und ist daher voll von Funktionen, die sich am besten für inhaltsbezogene Websites wie die Washington Post, Amazon und Craigslist eignen und datenbankgestützte und dynamische Informationen bieten. Trotzdem eignet sich Django auch für jede dynamische Website. Der zweite Grund ist, dass die Geschichte von Django Ihnen hilft zu verstehen, wie die Kultur seiner Gemeinde geprägt wurde.

Django ist aus dem Code der realen Welt und nicht aus einem kommerziellen Produkt oder einer akademischen Übung entstanden. Infolgedessen konzentriert es sich stark auf die Lösung von Problemen, mit denen die ursprünglichen Webentwickler konfrontiert sind, und von Problemen, mit denen die aktuellen Entwickler noch konfrontiert sind. Dies bedeutet, dass Django fast täglich Verbesserungen sieht. Das Team für die Wartung des Frameworks hat ein berechtigtes Interesse daran, sicherzustellen, dass das Tool dem Entwickler Zeit spart und einfach zu wartende Anwendungen erstellt, die auch bei hohen Lasten eine gute Leistung erbringen. Sie alle wollen es sich leichter machen, mit anderen Worten.

Django installieren

Es dürfte also klar sein, dass Django ein Werkzeug zur Vereinfachung der Webentwicklung ist. Die Installation des Tools selbst kann jedoch aufgrund der Anzahl der beweglichen Teile in den heutigen Webentwicklungsumgebungen einige Schritte dauern.

Django ist im Grunde genommen Python-Code und kann daher überall dort ausgeführt werden, wo es Python gibt, auch auf einigen Handys. Angenommen, Sie installieren es auf einem Desktop, einem Laptop oder einem Server. Da Django in Python geschrieben ist, muss zuerst Python installiert werden. Die wichtigsten Django-Frameworks mit jeder Python-Version ab 2.5. Wenn Sie sich nicht sicher sind, was Sie auswählen sollen, wählen Sie die neueste Version von Python aus, da sie Sprachfunktionen und Leistungsverbesserungen enthält, die Sie möglicherweise nützlich finden.

Wenn Sie mit Mac oder Linux arbeiten, ist Python wahrscheinlich bereits auf Ihrem Computer installiert. Sie können dies überprüfen, indem Sie zur Eingabeaufforderung gehen und 'python' in die Befehlszeile eingeben. Sie sollten so etwas sehen:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6. Dezember 2015, 01:54:25)

(MSC v.1900 64 Bit (AMD64)) auf Win32

Geben Sie "Hilfe", "Copyright", "Credits" oder "Lizenz" ein, um weitere Informationen zu erhalten.

>>>

Wenn Sie dies nicht sehen, müssen Sie es herunterladen und installieren. Einmal installiert, müssen Sie Django herunterladen und installieren. Sie können zwischen zwei Versionen wählen: der neuesten offiziellen Version oder der neuesten Version für die Webentwicklung. Was Sie wählen, hängt davon ab, was Sie wollen. Wenn Sie eine getestete, stabile Version wünschen, wählen Sie die offizielle Version. Wenn Sie etwas mit den neuesten Funktionen möchten und einen Beitrag zur Community leisten möchten und mit dem Mangel an Stabilität fertig werden möchten, entscheiden Sie sich für die Webentwicklungsversion.

Für den Anfang ist es am besten, die offizielle Veröffentlichung anzustreben. Sie finden die neueste Version auf der Django Project-Website. Wenn Sie eine Linux-Distribution mit Django-Paket haben, suchen Sie nach der Distributor-Version, damit Sie auch Sicherheitsupdates erhalten.

Einrichten einer Datenbank

Djangos einzige Voraussetzung ist, dass Sie eine funktionierende Python-Installation haben. Sobald Sie dies eingerichtet haben, können Sie praktisch sofort mit dem Schreiben einer Webanwendung beginnen. Wie bereits erwähnt, wurde Django mit dem Fokus auf inhaltsorientierte, datenbankgesteuerte Webanwendungen entwickelt. Die Chancen stehen also gut, dass Sie eine datenbankgesteuerte Website entwickeln. In diesem Fall müssen Sie einen Datenbankserver einrichten.

Django unterstützt vier Datenbank-Engines: MySQL, Oracle, SQLite 3 und PostgreSQL. Alle Motoren arbeiten zum größten Teil gleich gut mit dem Kern-Framework. PostgreSQL wird empfohlen, wenn Sie nicht an ein Altsystem gebunden sind und ein Datenbank-Backend auswählen können.

Um eine Datenbank einzurichten, müssen Sie den Server selbst installieren und konfigurieren. Jede Datenbank, die Sie auswählen, hat ihre eigene Art der Einrichtung. Sie müssen sich also darauf beziehen. Zweitens müssen Sie die Python-Bibliothek für das jeweilige Datenbank-Backend installieren. Dies ist der Code eines Drittanbieters, mit dem Python eine Schnittstelle zur Datenbank herstellt.

SQLite wird empfohlen, wenn Sie nur mit Django experimentieren und keinen Server installieren möchten. Es ist keine Installation erforderlich. Es kann nur Daten in eine einzelne Datei auf Ihrem System lesen und schreiben und wird von Python 2.5 und höher unterstützt. Windows macht es etwas schwierig, Binärdateien für Datenbanktreiber abzurufen.

Wenn Sie sich für MySQL entscheiden, benötigen Sie MySQL 4.0 oder höher, da die älteren Versionen die Funktionen von Django nicht unterstützen. Sie müssen auch das MySQLdb-Paket von der Django-Projektseite installieren. Wenn Sie Linux verwenden, enthält das Paketverwaltungssystem Ihrer Distribution möglicherweise ein Paket mit den Namen 'mysql-python', 'python-mysqldb' oder 'python-mysql'.

Django funktioniert mit Versionen 9i oder höher des Oracle-Datenbankservers. Sie müssen auch die cx_Oracle-Bibliothek von der cx-Oracle-Website installieren. Alternativ können Sie Django auch ganz ohne Datenbank verwenden, wenn Sie nur dynamische Seiten bereitstellen möchten, ohne auf eine Datenbank zu verweisen. Trotzdem benötigen einige Tools in Django eine Datenbank, und wenn Sie keine haben, werden Sie diese verpassen.

Empfohlene Artikel

In den folgenden Artikeln erfahren Sie mehr über Python und Django für die Webentwicklung. Klicken Sie einfach auf den Link.

  1. Python vs JavaScript - Lernen Sie die 11 nützlichen Unterschiede
  2. Die 10 besten Fragen zum Web Development Interview, die Sie kennen sollten
  3. 10 Arten der Python-Programmierung
  4. Python vs Ruby Performance und ihre nützlichen Vorteile
  5. Python vs JavaScript Key Unterschiede
  6. Python vs Go