Benutzer:Fit/Django
Django
| |
---|---|
Screenshot der "It worked!"-Seite von Django | |
Basisdaten
| |
Entwickler | Django Software Foundation |
Aktuelle Version | 1.8[1] (1. April 2015) |
Betriebssystem | plattformunabhängig |
Programmiersprache | Python |
Kategorie | Web Application Framework |
Lizenz | BSD-Lizenz |
www.djangoproject.com |
Django ist ein in Python geschriebenes quelloffenes Web Application Framework, das einem Model-View-Controller-Schema folgt.[2] 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.
Philosophie
[Bearbeiten | Quelltext 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.
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. Andere Web-Frameworks gehen häufig den Weg der impliziten URL-Abbildung über Verzeichnisse und Funktionsnamen.
Merkmale
[Bearbeiten | Quelltext bearbeiten]- Integrierter objektrelationaler Mapper für die Datenbanksysteme MySQL, Oracle, PostgreSQL und SQLite
- Anbindung an weitere Datenbanksysteme (z. B. DB2 und Microsoft SQL Server) via Backends von Drittanbietern[3]
- Automatisch generierte, produktionstaugliche Administrationsoberfläche
- Flexible URL-Konfiguration mit regulären Ausdrücken
- Mächtige Templatesprache mit Vererbungsunterstützung
- Internationalisierungsunterstützung
- Cross-Site-Scripting-Schutz
- Weitere Module, die nach Bedarf eingesetzt werden können:[4]
- Eingebautes Caching
- Authentifizierungssystem
- Kommentarsystem
- Suchmaschinen-Sitemaps-Erstellung
- Unterstützung der vereinfachten Auszeichnungssprachen Textile, Markdown und ReStructuredText
- 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 selbst erstellte Module innerhalb eines Templates geladen werden, um den Umfang der Templatesprache 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.[5]
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- TurboGears (Python Web Framework, das standardmäßig SQLAlchemy als ORM benutzt)
- web2py (Python Web Framework)
- ↑ Tim Graham: Django 1.8 released. In: Django Weblog. Django Software Foundation, 1. April 2015, abgerufen am 22. April 2015.
- ↑ FAQ: General | Django documentation | Django. docs.djangoproject.com, abgerufen am 4. Juni 2013.
- ↑ How to install Django: Get your database running. Abgerufen am 13. Mai 2010.
- ↑ Django: contrib packages. Abgerufen am 13. Mai 2010.
- ↑ Writing your first Django app:The development server. In: Django Documentation. Abgerufen am 18. September 2013.