Python im Web Kein Thema ist so umstritten wie die Python-Webentwicklung. Einige glauben noch immer, dass es da nichts Gescheites gibt. Der junge WSGI-Standard zeigt jedoch auf, dass Python im Web funktioniert, sehr schnell ist, eine Zukunft hat und überhaupt nicht in den Kinderschuhen steckt. Ganz im Gegenteil.

Inhalt

Python Webspace

Wer Python bei komerziellen Hostern laufen lassen möchte, findet auf der Seite Python Webspace eine Übersicht. Wenn die Anforderungen größer werden und kein Hoster mehr diesen gerecht werden kann, sollte man überlegen sich einen vServer oder ähnliches anzumieten. Dadurch erlangt man größere Freiheiten in der Wahl der Software und der Konfiguration. Doch beachte bitte die Hinweise und Anmerkung dazu.

Low-Level Webentwicklung

Bevor es den WSGI-Standard gab, musste man direkt mit diesen Interfaces (z.B. mod_python, FastCGI etc.) kommunizieren. Dies ist mittlerweile unnötig geworden, denn das übernimmt ein WSGI-Gateway/Wrapper. Nichtsdestotrotz gibt es hier eine Seite, die diese Wege kurz anschneidet.

WSGI

Durch die Fülle der unterschiedlichen Möglichkeiten der Web-Programmierung wurde vor einiger Zeit eine Schnittstelle entwickelt, damit sichergestellt ist, dass Anwendungen auf mehreren Server-Gateway-Interfaces laufen können. Dieses Interface heisst WSGI (Webserver Gateway Interface) und ist eine allgemeine Schnittstelle die in PEP 333 definiert wird.

Template Engines

Statt den Python- und HTML-Code in einer Datei zu mischen wie es beispielsweise in PHP meist der Fall ist, werden in der Regel HTML-Dateien mithilfe von Template-Engines mit Inhalt gefüllt. Dabei wird eine Vorlage (eben das "Template") genommen und nach bestem Gewissen von der Template-Engine nach vorgegebenen Regeln mit Inhalt gefüllt. Wobei dann am Schluss in der Regel eine HTML-Datei heraus kommt. Viele können aber auch verwendet werden, um andere Textinhalte zu generieren.

Datenbanken

Oft möchte man in seinen Webprogrammen die eingegebenen Daten irgendwie dauerhaft speichern. Dazu bieten sich viele Möglichkeiten an. Beispielsweise kann man Text-Dateien zu Speichern verwenden, aber ebenso auch populäre RDBMS wie MySQL oder PostgreSQL. Einen Überblick über Datenbank-relevante Themen findet man im Wiki unter Tags/Db.

Frameworks

Web-Frameworks stellen ein komplettes Paket an Modulen für die Webentwicklung zur Verfügung (ähnlich zu Rails). Momentan sind in diesem Sektor Django, TurboGears und Zope die größten Frameworks. Diese und auch andere, werden unter Web-Frameworks genauer beschrieben und verglichen.

Ausführungsprobleme

Gibt es Probleme beim Ausführen von Web Programmen oder dem Einrichten von Webservern, gibt es auf der Seite Web-Skripte zum Laufen bringen nützliche Informationen.

Tags: Web | Netzwerk | Grundlagen