Debugging mit Django

Simon Willison schreibt einen sehr sehr wichtigen Beitrag zum Debugging von Django Webapplikationen: Auch die Kommentare liefern jede Menge Ideen von anderen Personen. Von der einfachen Ausgabe in die Konsole oder einer Logdatei bis hin zum Einsatz eines separaten Debuggers werden verschiedene Möglichkeiten und Tools aufgezeit.

Es zeigt sich mal wieder eindrucksvoll, dass selbst ein Webframework (das selbst als Python-Erweiterung vorliegt) von der Erweiterbarkeit der Python-Umgebung profitieren kann.

http://simonwillison.net/2008/May/22/debugging/

Erwähnenswert hierzu ist auch die django-logging Middleware:

http://code.google.com/p/django-logging/wiki/Overview

Django und die Migration vorhandener CMS

Haben Sie das richtige Content Management System gewählt ? Diese Frage stellt sich leider oft nachdem schon sehr viele Einträge im System verwaltet werden und man die Eigenheiten lieben oder hassen gelernt hat. Ab diesem Zeitpunkt erscheint es so, als gebe es keinen Weg mehr zu einem anderen System. Welche Möglichkeiten bestehen denn, wenn das System prall gefüllt ist und an seine Grenzen gerät ? Dieser Artikel setzt sich mit der grundsätzlichen Problematik der Migration von und zu verschiedenen CMS auseinander und zeigt das Python basierte Web Framework Django auf, welches für diesen Zweck durchaus geeignet erscheint. „Django und die Migration vorhandener CMS“ weiterlesen

Django – skaliert von der Microsite bis zum Enterprise CMS

Django ist eigentlich kein Content Management System, sondern ein extrem skalierbares Web Framework mit Unterstützung für viele Datenbank-Systeme und Webserver. Mit Django werden ganze Content Management Systeme entwickelt.

Django ist ein äußerst flexibles und vielseitiges auf Python basierendes Framework, mit dessen Hilfe in sehr kurzer Zeit Blogs, Content Management Systeme und sehr große Websites entwickelt werden können. Django bringt von sich aus einen auf Python basierenden Webserver für Entwicklungszwecke mit und benötigt zunächst auch keinen Datenbankserver. Es lassen sich entweder ganz ohne Datenbank dynamische Webseiten entwickeln, oder man verwendet die Datei-basierte Datenbank SQLite (welches in Python 2.5 schon integriert ist). Ansonsten verwendet man einfach MySQL, PostgreSQL, Oracle oder SQLite – In Zukunft auch DB2.

Wenn man sich im Netz nach Django-basierenden Content Management Systemen umschaut, findet man fast ausschließlich Systeme, die für jede Website neu entwickelt worden sind. Dies ist auch das Ziel von Django: Ein System, welches in kürzester Zeit ganze Websites auf die Beine Stellt. Django skaliert extrem gut und bringt natürlich jede Menge Features für sehr große Sites mit (Skalierung auf mehreren Maschinen, Caching-Server usw.).

Ein besonderes Feature möchte ich hier nicht unterschlagen: Die vollautomatisch zu jeder Site dynamisch generierte Administrations-Oberfläche. Wenn man in etwa 20 bis 40 Zeilen Code das Modell eines kleinen Webprojekts geschrieben hat, wird automatisch das Administration-Interface erzeugt, mit dessen Hilfe die Artikel/Daten im system angelegt werden können. Noch während der Entwicklung des Designs des Backends für die User können Autoren schon das System mit Daten füttern. Nicht umsonst nennt sich Django (ins Deutsche übersetzt) >>Das Webframework für Perfektionisten mit Deadlines<<