[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