Django (Framework)
| Django
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo | |
| Screenshot Screenshot der "It worked!"-Seite von Django | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Entwickler | Django Software Foundation |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | plattformübergreifend |
| Programmiersprache | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Kategorie | Webframework |
| Lizenz | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) | |
Django ist ein in Python geschriebenes, quelloffenes Webframework, das einem Model-View-Presenter-Schema folgt.<ref>FAQ: General | Django documentation | Django. docs.djangoproject.com, abgerufen am 4. Juni 2013.</ref> 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.
Manche Versionen erhalten einen längeren Support und werden als LTS angeboten. Ab der Version 2.0 ist die Versionierung an SemVer angelegt.<ref><templatestyles src="Webarchiv/styles.css" />Django’s release process ( vom 23. Juli 2016 im Internet Archive)</ref>
Philosophie
Django ist in vielerlei Hinsicht das Python-Gegenstück zu Ruby on Rails. Beispielsweise konzentriert sich auch Django auf die Einhaltung des DRY-Prinzips<ref name=":0">Django design principles: Don't repeat yourself (DRY) principle, Explicit is better than implicit, Loosely coupled architecture. Abgerufen am 7. März 2022.</ref>.
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.<ref name=":0" />
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<ref>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.</ref>. So sind beispielsweise ein Authentifizierungssystem und eine Administrationsoberfläche von Haus aus enthalten.<ref>Contrib packages. In: Offizielle Django-Dokumentation. Abgerufen am 25. September 2022.</ref>
Merkmale
- Integrierte objektrelationale Abbildung für die Datenbanksysteme MySQL, Oracle, PostgreSQL und SQLite
- Anbindung an weitere Datenbanksysteme (z. B. Db2 und Microsoft SQL Server) via Backends von Drittanbietern<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig How to install Django: Get your database running.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 13. Mai 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- automatisch generierte, produktionstaugliche Administrationsoberfläche
- flexible URL-Konfiguration mit regulären Ausdrücken
- umfangreiche Templatesprache mit Vererbungsunterstützung
- Internationalisierungsunterstützung
- Cross-Site-Scripting-Schutz
- weitere Module, die nach Bedarf eingesetzt werden können:<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Django: contrib packages.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 13. Mai 2010 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- eingebautes Caching
- Authentifizierungssystem
- Kommentarsystem
- Suchmaschinen-Sitemaps-Erstellung
- Werkzeuge zur Erstellung von RSS- und Atom-Feeds
- Modul für Geoinformationssysteme
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.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Writing your first Django app:The development server.] In: Django Documentation. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 18. September 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Django Software Foundation
Am 17. Juni 2008 wurden die Marke Django sowie alle Rechte an dessen geistigem Eigentum an die Django Software Foundation übertragen.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Announcing the Django Software Foundation.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 17. Juni 2008 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> 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
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
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
- TurboGears (Python Web Framework, das standardmäßig SQLAlchemy als ORM benutzt)
- web2py (Python Web Framework)
- Flask (Python Web Framework)
- Bottle (Python Web Micro Framework)
Literatur
- Adrian Holovaty, Jacob Kaplan-Moss: The Definitive Guide to Django. Web Development Done Right. Apress, 2007, ISBN 978-1-59059-725-5 (djangobook.com – Dieses freie Buch (unter GFDL) behandelt Version 0.96.1 von Django.).
- Marty Alchin: Pro Django. Apress, 2008, ISBN 978-1-4302-1047-4 (prodjango.com).
- James Bennett: Practical Django Projects. 2. Auflage. Apress, 2009, ISBN 978-1-4302-1938-5.
- Ayman Hourieh: Django 1.0 Website Development. 2. Auflage. Packt Publishing, 2009, ISBN 978-1-84719-678-1 (packtpub.com/django-1-0-website-development-2nd-edition).
- Scott Newman: Django 1.0 Template Development. Packt Publishing, 2008, ISBN 978-1-84719-570-8 (packtpub.com/django-1.0-template-design-practical-guide).
- Jeff Forcier, Paul Bissex, Wesley Chun: Python Web Development with Django. Addison-Wesley Professional, 2008, ISBN 978-0-13-235613-8 (withdjango.com).
Weblinks
- Projektseite (englisch)
- Django all-in-one installer (englisch)
- Deutscher Django Verein e. V.
- Projektseite Django Packages
Einzelnachweise
<references />