Ende

Nachteile

  • Templatesprache: Teilweise keine Fehlermeldungen. Wiederspricht Zen of Python
  • Python ist bei Billig-Providern nicht so verbreitet wie PHP.
  • syncdb erstellt nicht neue Spalten, neu neue Tabellen.
  • Session based Messages noch nicht in 1.0

Fehlerfinden

  • Verwende das Python logging Modul
  • Schreibe assert-Anweisungen in deinen Quelltext
  • Trau dich Django-Quelltext zum Fehlerfinden zu modifizieren. Bsp: Falls die eigentliche Exception aufgefangen wird, die except Zeile durch zB except EOFError kurzzeitig ersetzen.

Tipps

  • Lieber Python als Templatesprache lernen.
  • Postgres als Datenbank.
  • mod_wsgi als Apache Adapter (nicht mod_python)
  • Gebe den Klassen eine __unicode__ Methode
  • Unterscheide HTTP GET und POST: GET ist readonly (wird ggf. durch Suchmaschinenbot aufgerufen)
  • Alle URLs enden mit einem Slash: <form action=”./” method=”POST”>...</form>
  • Schreibe Unittests
  • URLs per reverse() zusammenstellen. Und URLs in urls.py mit der Methode url() und einem Namen definieren.

Noch viel mehr!

  • Middleware: Methoden, die für jeden Request aufgerufen werden.
  • Queryset Abfragen über mehrere Tabellen: Detail.objects.filter(master__column=’...’)
  • Auto-Escape
  • Unicode Unterstüzung
  • Model Inheritance (Vererbung)
  • http://www.djangosnippets.org/users/guettli/
  • Session Verwaltung (Cookies)
  • ...