25.2 Konzepte und Besonderheiten im Überblick 

Django setzt auf das Model-View-Konzept, das Sie schon im Kapitel über Qt kennengelernt haben. Eine typische Django-Anwendung definiert ein Datenmodell, das automatisch von Django in einer Datenbank verwaltet wird. Die Ausgabe für Endbenutzer übernehmen sogenannte Views (dt. Anzeigen), die auf das Datenmodell zurückgreifen können.
Zurzeit unterstützt Django die Datenbanken MySQL, SQLite3 und PostgreSQL. [SQLite3 ist als Modul in Pythons Standardbibliothek enthalten und kann ohne besondere Konfiguration sofort benutzt werden. Für MySQL und PostgreSQL benötigen Sie einen separaten Datenbankserver. ] Außerdem befinden sich Anbindungen für Microsofts SQL-Server MSSQL und für den Oracle-Datenbankserver in der Entwicklung.
Wir als Webentwickler werden bei dem Umgang mit den Datenmodellen vor technischen Details wie der Abfragesprache SQL vollkommen verschont. Unsere Aufgabe besteht nur darin, Django mitzuteilen, welche Datenbank wir gerne verwenden möchten. Unsere Modelle werden über Python-Code definiert, und Django übernimmt die komplette Kommunikation mit der Datenbank für uns.
Als besonderes Bonbon für den Webentwickler erstellt Django anhand der Modelldefinition automatisch eine Administrationsoberfläche, um die Daten des Modells zu verwalten.
Django unterscheidet zwischen Projekten und Applikationen. Als Projekt wird eine Website als Ganzes bezeichnet, die beispielsweise eine News-Seite, ein Forum und ein Gästebuch umfassen kann. Applikationen sind dafür zuständig, die Funktionen eines Projekts zu realisieren. Unser Beispielprojekt hätte also drei Applikationen: eine News-Applikation, eine Forum-Applikation und eine Applikation für das Gästebuch.
Django vertritt das Prinzip des Loose Coupling (dt. schwache Kopplung) für alle Teile der Webanwendung. Das bedeutet, dass möglichst viel unabhängig voneinander entwickelt werden kann, sodass die einzelnen Teile auf anderen Seiten verwendet werden können. Insbesondere ist es problemlos möglich, Applikationen in verschiedenen Projekten zu verwenden, ohne den Code anpassen zu müssen.
Wir werden im nächsten Abschnitt mit der Entwicklung des Beispielprojekts beginnen.




bestellen





