conference logo

Playlist "FrOSCon 2022"

web.py – Web-Anwendungen in Python

Uwe Berger

Du brauchst eine kleine plattformunabhängige Anwendung? Du kannst Python lesen und schreiben? Dann probiere doch mal web.py, ein kleines Web-Framework mit sehr niedriger Einstiegshürde! Mit wenigen Codezeilen sind auch komplexere dynamische Web-Anwendungen realisierbar, die alles mitbringen, um sie autark unter jedem gängigen Betriebssystem betreiben zu können. Der Vortrag erklärt die ersten Schritte.

Zur schnellen Erstellung einer kleinen dynamischen Webseite, muss man nicht unbedingt auf einen der schwergewichtigen Webframeworks zurückgreifen [1]. Denn um dort zum Ziel zu kommen, ist meist eine längere Einarbeitszeit, die man mit dem Lesen von Dokumentationen und dem Ausprobieren von Tutorials verbringt, vorprogrammiert. Die Gefahr dabei auf halben Weg aufzugeben, ist recht hoch.
Auf der Suche nach schlanken Alternativen, stolperte der Autor dieses Vortrages über einen etwas älteren Artikel im Linux Magazin 08/2006 [2]. Es wurde web.py, damals noch aus einer einzigen Python-Datei bestehend und in der Version 0.138 vorliegend, vorgestellt. Vor allem die 10 Zeilen Python-Code für ein „Hello World“, welche dann nicht mal einen installierten Webserver-Dienst auf dem Entwicklungsrechner benötigten, waren sehr beeindruckend. Und auch wichtig: die Entwick­lung von web.py ist nicht im Jahr 2006 stehen geblieben, wie ein Blick auf die Projektseite [3] be­weist. Also die ideale Spielwiese für einen angehenden (oder auch fortgeschrittenen) Python-Pro­grammierer.
Neben den üblichen Dingen eines Webframworks, wie z.B. der Generierung von validem HTML-Code, Session- und Cookie-Managment sowie HTML-Templates, bringt web.py noch einige andere interessante Dinge mit. An vorderster Stelle stehen dort sicherlich solche Features wie z.B.:
• komfortables URL-Handling
• Generierung von Input-Forms und einfache Validierung der Eingaben
• integrierte Anbindung an SQLite-, MySQL- und Postgres-Datenbanken
• Unterstützung beim Debuggen der Web-Anwendungen durch detaillierte Fehlerausgaben
• in die Anwendung integrierter Webserver
• die Erstellung der Web-Anwendung erfolgt hauptsächlich in nativen Python (mit allen Vor­teilen, wie z.B. das Einbinden der unzählig verfügbaren Python-Module)

Der Vortrages gibt eine Einführung in die Programmierung von dynamischen Webseiten mit dem Python-Modul web.py. Dabei wird auch verraten, welches Anwendungsszenario eigentlich den Aus­schlag gegeben hatte, sich mit diesem Thema zu beschäftigen.