Über Django

Was ist Django?

Django ist ein in Python geschriebenes Framework, das die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit einzelner Komponenten gelegt.

Der Object-Relational-Mapper (ORM) ermöglicht einen einfachen und schnellen Zugriff auf die Datenbank. Dabei werden verschiedene Datenbanken unterstützt. Django bietet außerdem umfangreiche Unterstützung für mehrsprachige Anwendungen.

Django wird als Open Source Software unter einer BSD-Lizenz verteilt.

Django Foundation
Die Entwicklung von Django wird durch die in den USA ansässige Django Foundation beobachtet und gesteuert. Dadurch ist sowohl die Weiterentwicklung der Software als auch der Schutz vor einem Missbrauch des Namens sichergestellt.

Das DRY-Prinzip

Django ist nach dem DRY-Prinzip (Don’t Repeat Yourself) programmiert und organisiert. Es besagt, dass jede Wissenseinheit nur eine eindeutige und schlüssig positionierte Repräsentation im Code haben darf und Redundanz vermieden wird. Nach diesen Prinzip sollten auch die mit Django entwickelten Projekte erstellt werden.

MTV - ein MVC-Muster

Django trennt – wie durch das MVC-Muster vorgegeben – Datenrepäsentation (Model), Darstellung (View) und Logik (Controller) voneinander.

Template-Engine

Die Templates werden in einer eigenen Templatesprache geschrieben. Sie bringt bereits viele nützliche Helfer zum Erstellen der Ausgabe mit. Die umfangreiche Tag-Bibliothek kann leicht um eigene Funktionen erweitert werden.

<p>Dear {{ person_name }},</p> <p>Here are the items you've ordered:</p> <ul> {% for item in item_list %} <li>{{ item }}</li> {% endfor %} </ul> {% if ordered_warranty %} <p>Your warranty information will be included in the packaging.</p> {% endif %}

Eingebautes Admintool

Das automatisch erzeugte Admin-Interface hilft bei der Erstellung und Bearbeitung der Daten. Es kann bei Bedarf leicht angepasst und erweitert werden.

Admin (List Display)

Object-Relational-Mapper

Der Object-Relational-Mapper (ORM) ermöglicht einen einfachen und schnellen Zugriff auf die Datenbank. Dabei werden verschiedene Datenbanken unterstüzt.

from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)

Elegantes URL-Design

Jeder URL kann durch den Entwickler nahezu beliebig selbst bestimmt werden. Der URL wird beim Aufruf durch einen regulären Ausdruck mit dem entsprechenden Inhalt verknüpft.

urlpatterns = patterns('', (r'^polls/$', 'mysite.polls.views.index'), (r'^polls/(?P\d+)/results/$', 'mysite.polls.views.results'), (r'^polls/(?P\d+)/$', 'mysite.polls.views.detail'), (r'^polls/(?P\d+)/vote/$', 'mysite.polls.views.vote'), (r'^admin/', include(admin. site. urls)) )

Open Source

Django ist Open Source (BSD-Lizenz). Man kann als Entwickler also einerseits in den Quellcode schauen, um die Funktionalität zu verstehen, andererseits auch an der Weiterentwicklung von Django teilnehmen. Die Benutzung von Django ist kostenlos.

Dokumentation

Django besitzt eine hervorragende (englische) Dokumentation mit vielen nützlichen Beispielen. Eine deutsche Version ist in Arbeit.

Freundliche Community

Sollten einmal Probleme auftreten, bei denen auch die Dokumentation nicht mehr weiterhelfen kann, kann man sich über die Mailingliste oder den IRC-Channel Rat von der Django-Community holen.