[Python-de] Webprogrammierung

Harald Armin Massa haraldarminmassa at gmail.com
Don Okt 7 11:36:01 CEST 2004


Hallo Bertram,

> Das sieht sehr nett aus. Was spricht aber eigentlich
> dagegen, selber etwas zu schreiben wie
> 
>     def tag( name, etc):
>         print '<%s>' % name
>         etc()
>         print '</%s>' % name

problem bei dieser "print"-variante: das geht nur mit CGI so richtig
gut (und evtl. mit mod_python)

Mindenstens waren meine Erfahrungen, daß medusa und twisted und scgi
eine Zeichenkette wollen, also in einen String "geprintet" werden
müsste..

etwas wie "aus StringIO nen pseudofile machen und mit print >> reinschreiben"

Aber Deine vorbehalte gegen Content-Management-Sprachen kann ich gut
verstehen. Ich habe mich an diversen Templating-Systemen versucht, und
immer wieder festgestellt, daß zwar theoretisch das HTML wunderbar
gekapselt und Objekte und was auch immer; aber immer eine Sprache zu
lernen ist.

Quixote hat ein .PTL - Templating System, mit dem ich so einige
Versuche gemacht habe - da wird alles, was in einer Python-Funktion
als DocStrings ist, als HTML-Ergebnis zurückgegeben.

Die Vorsehung sorgte dafür, daß das nicht mit py2exe kompatibel ist -
mittlerweile mach ich alles html in python.

also:
r=TemplateIO()
r+="<htlm><head><title>%s</title></head>" % ("laloalal",)
r+= ....

return r.getvalue()

TemplateIO ist hier ne Klasse (aus Quixote), die letztendlich 
+= auf "list.append()"
mapped und mit r.getvalue() ein "".join(liste) zurückgibt.

Schritt für Schritt baut man sich so seine Komfort-Bibliothek auf, die
man dabei automatisch kennt.

Was ich nimmer missen mag, ist das Form- und Sessions-Framework, weil
das wirklich Arbeit erspart - ich habe auch schon HTML-Formulare von
"Hand" ausgewertet, und das ist lästiger:)

Harald

 


-- 
GHUM Harald Massa
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607