Markup mit Genshi + Werkzeug erlauben

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Wie man Markup mit Genshi und CherryPy erlauben kann, steht im Genshi-Tutorial. Ich versuche gerade, das ganze mit Werkzeug zu machen. Wie man im Quelltext von templates/index.html lesen kann, kann $content "normal" angezeigt werden (d.h., wenn Markup verboten wird). Mein Fehler steckt also in Zeile 29 in templates/index.html. Kann mir auch jemand sagen, wie man die Funktion genshi.input.HTML() richtig aufruft?

Wenn ich mein Skript mit

Code: Alles auswählen

./manage-guestbook.py runserver
aufrufe, dann wird von Genshi ein ParseError geworfen und Werkzeug schickt den HTTP-Code 500 and den Browser.

Der komplette Traceback ist hier zu sehen

views.py: http://paste.pocoo.org/show/90310/
templates/index.html: http://paste.pocoo.org/show/90303/
application.py: http://paste.pocoo.org/show/90313/
utils.py: http://paste.pocoo.org/show/90314/

Wenn ihr noch mehr Code sehen wollt, müsst ihr das nur sagen :D .
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Suchst du vielleicht `<p>${Markup(html_data)}</p>`? `Markup` sorgt dafür, dass der Inhalt des Arguments direkt, d. h. ohne Maskierung bestimmter Zeichen, in den Template-Quelltext übernommen wird und ist seit Version sowieso von Haus aus im Template-Context enthalten.

`HTML()` ist mir dagegen unbekannt und ich bin sicher, du brauchst es für den normalen Hausgebrauch nicht.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Danke, genau das habe ich gesucht!
Antworten