Einführung

Was ist Django?

Django ist ein Python-Framework, das die Erstellung von Websites mit Python erleichtert.

Django kümmert sich um die schwierigen Dinge, damit Sie sich auf die Erstellung Ihrer Webanwendungen konzentrieren können.

Django legt Wert auf die Wiederverwendbarkeit von Komponenten, auch DRY (Don’t Repeat Yourself) genannt, und verfügt über gebrauchsfertige Funktionen wie ein Anmeldesystem, Datenbankverbindungen und CRUD-Operationen (Create Read Update Delete).

Eine umfangreiche und bemerkenswert ausführliche Dokumentation findet sicht unter http://docs.djangoproject.com/. Um die Weiterentwicklung von Django kümmtert sich die Django Software Foundation

Loose Coupling

Loose Coupling, Ein grundlegendes Ziel des Django-Stacks ist die lose Kopplung und der enge Zusammenhalt. Die verschiedenen Schichten des Frameworks sollten nur dann voneinander „wissen“, wenn es absolut notwendig ist.

../_images/loose_coupeling.jpg

Design Philosophies

https://docs.djangoproject.com/en/stable/misc/design-philosophies/

Model-Template-View

Django ist nach dem Model-Template-View (MTV) Muster aufgebaut. MTV orientiert sich am bekannten Model-View-Controller Muster (MVC).

Der in Django enthaltene Object Relational Mapper (ORM) überträgt die Models in Datenbankstrukturen und führt alle Operationen in der Datenbank durch. Es können alle gängigen Datenbanken benutzt werden. Alle Models werden in Python geschrieben.

Die Template-Engine unterstützt die Vererbung von Templates und bietet umfangreiche Filter und Templates. Diese können auch selbst erweitert werden.

Der View holt die Daten, zum Beispiel mit Hilfe des Object Relational Mappers. Es können aber auch anderen Datenquellen genutzt werden.

Die URLConf steuert das Routing. Mit Hilfe von regulären Ausdrücken wird der Request dem richtigen View zugewiesen.

../_images/request-response.png