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)
- ...