Django - Was ist das?


Dieser Artikel ist der erste einer mehrteiligen Artikelserie über Django. In diesem Artikel wird ersteinmal erklärt, was Django ist und was man damit überhaupt machen kann. In den weiteren Artikeln werden einzelne Funktionen genauer vorgestellt und erklärt.

Bei Django handelt es sich um ein in Python geschriebenes Webframework. Wer Ruby kennt, kennt bestimmt auch Ruby on Rails und Django ist ein ähnliches, nur meiner Meinung nach viel besseres, Framework, das eben in Python geschrieben wurde.

Wikipedia schreibt über Django folgendes:

Django ist ein in Python geschriebenes quelloffenes Web-Framework, welches dem Model-View-Controller-Schema folgt. 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.

Das war es jetzt dann auch mit dem ganzen allgemeinen Kram, jetzt kommen wir zu den genaueren Details.

Django basiert auf ein Model/View/Template-Konzept. Die Models definieren die Datenbankstruktur und werden in Python geschrieben. Der SQL-Code wird automatisch generiert und die Datenbanktabellen werden ganz automatisch erstellt und der Programmierer kommt nicht mit SQL-Abfragen in Berührung (außer er will sehr komplexe Sachen machen) und kann sich so voll auf seinen Python-Code konzentrieren.

Die Views sind der hauptsächliche Programmcode. Ein View ist eine einfache Python Funktion, die ein Request-Objekt entgegen und gibt ein Response-Objekt zurück. In einem View kann auf Models zugreifen und Templates rendern.

Templates sollten jedem bekannt sein: Sie sind für die Darstellung verantwortlich. Django verfügt über eine eigene Template Sprache, aber dazu später in einem weiteren Teil dieser Serie mehr.

Django erleichtert es dem Programmierer an vielen Stellen, eine Seite zu erstellen. So sind verschiedene Funktionen bereits enthalten:

  • Benutzerverwaltung: Als django.contrib.auth stehen verschiedene Funktionen zur Verfügung. Es gibt beispielsweise schon fertige Views zum Anmelden oder Passwort zerücksetzen.
  • Administrationsoberfläche: Es ist vorbei mit dem mühsamen Schreiben eines Administrationsbereichs oder dem Herumfummeln in phpMyAdmin um eine Seite zu verwalten. Django bietet als django.contrib.admin eine voll funktionsfähige Administrationsoberfläche.
  • Flatpages: So werden bei Django einfache statische Seiten genannt. Mit django.contrib.flatpages kann ganz einfach eine URL einer statischen Seite zugewiesen werden.
  • Syndication: Mit dem Django Syndication Framework, zu finden unter django.contrib.syndication, können ganz einfach RSS- und Atom-Feeds erstellt werden.

Da in diesem Beitrag schon mehrmals die Wörtel Model und SQL erwähnt wurden, muss hier natürlich auch noch erwähnt werden, welche Datenbankserver unterstützt werden. Dies sind aktuell: MySQL, PostgreSQL, Oracle und SQLite.

Mit Django werden URLs nicht wie man es bei PHP kennt durch Dateinamen und GET-Parameter definiert, sondern mit einer auf Regular Expressions basierender URL-Konfiguration. Außerdem sind auch mehrsprachige Websiten ganz einfach möglich, da Django schon einige Internationalisierungsfunktionen eingebaut hat.

In den nächsten Artikeln wird erst einmal erklärt, wie man Python und Django installiert.

Alle Artikel dieser Serie über Django

Informationen und Links

Mach' mit, indem du kommentierst, verfolgst was andere zu sagen haben oder von deinem Blog aus verlinkst.


Weitere Artikel
Django - So einfach ist die Installation
Das neue iPhone kann jetzt fast alles, was ein normales Handy auch kann

Einen Kommentar schreiben

Nimm dir einen Moment Zeit und sage uns, was du denkst. Du darfst ein bisschen HTML zur Formatierung verwenden.

Kommentare

schöner Einstieg, danke