Django - Und der falsche Weg zur Webanwendung

In diesem Artikel wird es nicht direkt um Django gehen, sondern darum, wie man früher unnötig komplizierte Webanwendungen geschrieben hat. Das heißt CGI mit SQL-Abfragen und ohne Templates oder ähnliche Dinge, die das Entwickeln erleichtern. Aber genau so sollte man es nicht machen.
Früher waren CGI-Scripts normal, das heißt, dass alle möglichen Informationen aus den Umgebungsvariablen ausgelesen wird und die Ausgaben des Scripts einfach in die Standardgabe geschrieben werden.
Das kann bei einem einfachen Beispiel dann so aussehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/env python # Header müssen immer manuell gesendet werden echo 'Content-Type: text/html' # Leere Zeile als Ende der Header ausgeben print '' print '<html>' print '<head>' print '<title>Hallo Welt</title>' print '</head>' print '<body>' print '<h1>Hallo Welt</h1>' print '<p>Lorem ipsum...</p>' print '</body>' print '</html>' |
Das ist nicht wirklich der beste Weg. Das sieht auch besonders gut aus, vor allem wenn dann noch Datenbankabfragen zwischen Python- und HTML-Code kommen. Python, HTML und SQL zusammen sehen wirklich sehr gut aus.
Also fügen wir zum Beispiel diesen Code noch oben ein:
1 2 3 4 5 6 7 8 | import MySQLdb connection = MySQLdb.connect(user='username', passwd='password', db='database') cursor = connection.cursor() cursor.execute("SELECT `name` FROM `persons` LIMIT 10") print '<ul>' for row in cursor.fetchall(): print "<li>%s</li>" % row[0] print '</ul>' |
Sieht dann wirklich toll aus, oder? Wäre es denn nicht viel schöner, wenn man das ganze mit Templates und Models (wird in einem der nächsten Artikel erklärt und hat mit der Datenbank zu tun) macht?
Für kleine Anwendungen mag das Ausreichen, aber wenn es etwas größeres werden soll, gibt es Probleme. Nicht sehr viel anders sieht es bei zum Beispiel PHP aus.
Im nächsten Artikel werden dann die ersten Schritte zur fertigen Seite mit Django erklärt


