Django (Framework)

Python Web Framework

Django ist ein in Python geschriebenes, quelloffenes Webframework, das einem Model-View-Presenter-Schema folgt.[6] Es wurde ursprünglich entwickelt, um die News-Seite „Lawrence Journal-World“ zu verwalten, und wurde im Juli 2005 unter einer BSD-Lizenz veröffentlicht. Benannt ist es nach dem Jazz-Gitarristen Django Reinhardt.

Django

Logo
Screenshot
Screenshot der "It worked!"-Seite von Django
Basisdaten

Entwickler Django Software Foundation
Erscheinungsjahr 21. Juli 2005[1]
Aktuelle Version 5.0.4[2]
(3. April 2024)
Betriebssystem plattformübergreifend
Programmiersprache Python[3]
Kategorie Webframework
Lizenz 3-Klausel-BSD[4][5]
www.djangoproject.com

Manche Versionen erhalten einen längeren Support und werden als LTS angeboten. Ab der Version 2.0 ist die Versionierung an SemVer angelegt.[7]

Philosophie Bearbeiten

Django ist in vielerlei Hinsicht das Python-Gegenstück zu Ruby on Rails. Beispielsweise konzentriert sich auch Django auf die Einhaltung des DRY-Prinzips[8].

Im Gegensatz zu diesem setzt Django allerdings nicht auf eine implizite, sondern auf die explizite Konfiguration einer Anwendung. Dies schlägt sich beispielsweise in der URL-Konfiguration nieder, die mit regulären Ausdrücken explizit vorgenommen wird und so eine Abbildung einer URL auf eine Python-Funktion schafft.[8]

Django verfolgt auch das „batteries included“ genannte Prinzip aus der Python-Welt, wonach eine breite Palette an optionalen Werkzeugen, die häufig auftretende Webentwicklungs-Aufgaben adressieren, direkt über das Hauptpaket mitgeliefert wird[9]. So sind beispielsweise ein Authentifizierungssystem und eine Administrationsoberfläche von Haus aus enthalten.[10]

Merkmale Bearbeiten

 
Model-Template-View in Django
 
Bildschirmansicht der optionalen Admin-Oberfläche, die auch Benutzer verwaltet

Fast jedes Merkmal von Django lässt sich auf einfache Weise erweitern, ohne den ursprünglichen Quellcode des Frameworks zu ändern. Es können zum Beispiel selbsterstellte Module innerhalb von Vorlagen ("templates") geladen werden, um den Umfang der Template-Sprache zu erweitern. Außerdem erlaubt Django, wiederverwendbare Anwendungen zu erstellen, die beliebig miteinander kombiniert werden können.

Django läuft mit dem Apache-Webserver mit mod wsgi oder einem anderen WSGI-kompatiblen Webserver. Es ist auch möglich, Django als FastCGI laufen zu lassen. Django enthält zudem einen für die Entwicklung gedachten und darauf zugeschnittenen eigenen Webserver.[13]

Django Software Foundation Bearbeiten

Am 17. Juni 2008 wurden die Marke Django sowie alle Rechte an dessen geistigem Eigentum an die Django Software Foundation übertragen.[14] Als Ziele nennt diese Stiftung:

  • Förderung des Einsatzes von Django,
  • Unterstützung seiner Weiterentwicklung,
  • Sicherung des geistigen Eigentums,
  • Den Stand der Technik in der Webentwicklung voranzutreiben.

Gründungsmitglieder sind Adrian Holovaty, Jacob Kaplan-Moss und Dan Cox.

Deutscher Django-Verein Bearbeiten

Im Dezember 2009 wurde der Deutsche Django-Verein gegründet. Der Verein soll die Kommunikation der Entwickler und Anwender sowie die Weiterentwicklung von Django im deutschsprachigen Raum fördern. Dazu werden Veranstaltungen und Konferenzen durchgeführt sowie lokale Gruppen unterstützt.

Verwendung Bearbeiten

Eine Reihe von Anwendungen und mehrere tausend Softwarebibliotheken basieren auf Django, auf der Projektseite von djangopackages.org gibt es dazu eine Liste. Die wichtigsten sind Bikemap.net, Disqus, django CMS, Instagram, LINBO, Pixabay, Pootle und Seafile.

Siehe auch Bearbeiten

Literatur Bearbeiten

Weblinks Bearbeiten

Commons: Django (Framework) – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise Bearbeiten

  1. www.djangobook.com.
  2. Release 5.0.4. 3. April 2024 (abgerufen am 22. April 2024).
  3. The django Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  4. github.com. (abgerufen am 2. September 2016).
  5. The django Open Source Project on Open Hub: Licenses Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  6. FAQ: General | Django documentation | Django. docs.djangoproject.com, abgerufen am 4. Juni 2013.
  7. Archivierte Kopie (Memento des Originals vom 23. Juli 2016 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/docs.djangoproject.com
  8. a b Django design principles: Don't repeat yourself (DRY) principle, Explicit is better than implicit, Loosely coupled architecture. Abgerufen am 7. März 2022.
  9. Paul F. Dubois: Guest Editor's Introduction: Python: Batteries Included. In: Computing in Science & Engineering, Vol. 9, No. 3. 2007, S. 7–9, abgerufen am 30. Oktober 2022.
  10. Contrib packages. In: Offizielle Django-Dokumentation. Abgerufen am 25. September 2022.
  11. How to install Django: Get your database running. Abgerufen am 13. Mai 2010.
  12. Django: contrib packages. Abgerufen am 13. Mai 2010.
  13. Writing your first Django app:The development server. In: Django Documentation. Archiviert vom Original am 19. August 2013; abgerufen am 18. September 2013.
  14. Announcing the Django Software Foundation. Abgerufen am 17. Juni 2008.