Webdesign

Django: Einführung in das Web Framework

5. September 2009
von

Django ist ein so genanntes quelloffenes Web-Framework auf Basis der Programmiersprache Python. Der Begriff Framework wird im Zusammenhang mit Programmiersprachen verwendet. Es handelt sich nicht um ein fertiges Computer-Programm, das bestimmte Teilaufgaben erledigt, sondern um ein Programmgerüst, das Module bereitstellt, mit denen man effektiver, schneller und transparenter Programme entwickeln kann.

Django wird als Web-Framework bezeichnet, da sowohl die zugrunde liegende Programmiersprache Python, wie auch die mit Django entwickelten Programme für Internet- und Netzwerkmöglichkeiten genutzt werden können. Man kann also beispielsweise mit Django – wie mit jedem anderen Web-Framework – Datenbanken entwickeln, die für Transaktion von Internet-Usern über Webserver-Zugriffe durch einen Benutzer mit Web-Browser möglich sind.  Der Begriff Framework lässt sich übrigens mit “Rahmenstruktur zum Arbeiten” übersetzen.

Django ist wie die zugrunde liegende Programmiersprache Python Open-Source und damit quelltextoffen. Dies bedeutet, dass jeder professionelle Programmierer alle Programmierschritte in transparenter Weise auf Basisbefehle zurückverfolgen kann. Dies fördert die schnelle und flexible Fehlerbeseitigung und Weiterentwicklung von Programmen. Als Open-Source-Framework kann also jeder Django kostenlos nutzen und muss lediglich sicherstellen, dass die mit Django und Python entwickelten Programme auf das Copyright der Basiskomponenten verweist. Da Django quelltextoffen bleiben soll, ist es nicht möglich, in das Web-Framework Module zu integrieren, die nicht quelltextoffen sind.

Django folgt dem “Model-View-Controller-Schema”. Dies bedeutet, dass die Programmentwicklung mit Django nach einem strengen aber benutzerfreundlichen und transparenten Ablauf erfolgt: Auf Basis des Datenmodells wird eine Präsentation entwickelt, der anschließend die Programmsteuerung folgt. Ziel des Model-View-Controller-Schema ist der flexible Programmentwurf mit Django, damit eine spätere Änderung oder Erweiterung von Web-Komponenten unter Django erleichtert wird, womit auch in hohem Maße eine Wiederverwendbarkeit einzelnen Komponenten gesichert ist.

Django wurde 2005 mit der BSD(Berkeley Software Distribution)-Lizenz als freie Software veröffentlicht. Im Gegensatz zur populären GNU General Public License (GPL) muss man zwar auch das Copyright der benutzten Programme benennen, ist aber nicht verpflichtet, den Quelltext ebenso offen zu halten, wie die ursprünglichen Produkte (kein Copyleft). Den Namen von Django verweist auf den in der Szene populären Jazz-Musiker Django Reinhard.

Was kann man mit Django machen?

Da Django ursprünglich als Content-Management-System für schnelle Nachrichtenplattformen entwickelt wurde, ist es sehr effektiv darin, kurze Entwicklungszeiten einzuhalten und zugleich hocheffektive und elegante Webanwendungen bereit zu stellen. Zugrundegelegt wird eine Datenbank, die objektrelational aufgebaut ist, hierzu können diverse Möglichkeiten genutzt werden. Zur Nutzung von Zugriffen und zur Generierung von Webadressen (URLs) können reguläre Ausdrücke verwandt werden, was schnellere und transparentere Entwicklungen ermöglicht.

Daher sind durch Django Webseiten auf Basis einer hochperformanten Leistung zu verwirklichen. Beispielhaft ist dies für folgende Entwicklungen umsetzbar:

  • Django-Entwicklung eines kompletten Webservers für Programmentwicklungen und Tests
  • Entwicklung von Webformularen zur leichten und schnellen Validierung der möglichen Benutzereingaben
  • Caching von Webseiten (damit einer Vielzahl nur Benutzer alle wichtigen Informationen und Dateneingabemöglichkeiten gegeben werden können)
  • Verwendung von sogenannten Middleware-Klassen (Module zur effektiven Unterprogrammtechnik)
  • Nutzung von Dispatcher-Systemen (wo nach bestimmten Ereignissen spezifische Programmmodule aktiviert werden)
  • Bessere Internationalisierung von Webseiten (einschließlich der Übersetzung einzelner dynamisch erzeugter Webseiten)
  • Nutzung einer Template-Engine zur Erzeugung komplexer und unterschiedlicher Webseiten-Darstellungen.

Aus diesen Möglichkeiten ergeben sich allgemeine Verbesserungen durch das Django-Web-Framework. Aber durch vielfältige Programmierarbeit ist es auch bereits jetzt möglich, ganz konkret Django auf Webservern wirksam zu machen, wo Python als Programmiersprache verfügbar ist. So können durch einzelne Module bessere Möglichkeiten zur Authentisieren von Benutzern garantiert werden. Weiter gibt es sehr flexible Möglichkeiten zur Erzeugung für RSS- und Atom-Syndikations-Feeds. Auch Module für flexible Kommunikationsmöglichkeiten auf Websites sind durch Django verfügbar. Für Content-Management-Systeme können sogenannte Google-Sitemaps generiert werden, was eine bessere Verfügbarkeit der Website für Suchmaschinen-Nutzer nach sich zieht.

Für wen ist Django geeignet?

Django ist ein gutes Framework für Webentwickler, die mit der Programmiersprache Python gut umgehen können oder zumindest hier schon einen Einstieg gefunden haben. Grundlegende Kenntnisse im Umgang mit Webservern und Webdatenbanken sollten ebenfalls vorhanden sein, denn der Nutzer von Django sollte ein grundlegendes Verständnis von den Abläufen haben, wenn ausgehend von einem Nutzer im Internet ein Datentransferprozess gestartet wird, der dazu führt, dass sich Datenbankinhalte ändern und dynamisch Webseiten mit komplexen Interaktionsmöglichkeiten erzeugt werden.

Programmierer und Webentwickler, die hier gut platziert sind, können dann schnell und flexibel gute Websites mit interessanten und nützlichen Angeboten entwickeln.

Artikel zum Thema im Web

Ein Kommentar? Schön!

Wir freuen uns immer über Leser, die durch nützliche und konstruktive Beiträge zum Thema eine Diskussion anstoßen oder den Artikel mit weiteren Informationen anreichern. Alle Kommentare werden in diesem Sinne moderiert. Zum Kommentar-Fairplay gehört für uns auch der Einsatz von rel="nofollow". Bitte verwenden Sie zudem als Namen weder eine Domain noch ein spamverdächtiges Wort. Vielen Dank!