2010-12-10 8 views
3

Ich frage im Grunde, wie man die Lagenons und Mako-Dateien in einem eigenständigen Python-Skript "einbindet"?Wie verwende ich Pylons/Mako-Vorlagen, um aus einem eigenständigen Python-Skript eine HTML-E-Mail zu erstellen?

Ich habe eine funktionierende Website, aber was ich tun möchte, ist Mako Templetes zu formatieren E-Mails, die ich durch ein Cron-Skript initiieren. Ich möchte auf diese Weise so viel Code wie möglich wiederverwenden, da manchmal Aktionen auf der Website E-Mails generieren.

Ich könnte das Cron-Skript Zugriff auf eine bestimmte URL, und verwenden Sie dann Pylonen, um die E-Mail zu generieren, aber dieser Hack hat viele offensichtliche Probleme.

Antwort

4

Ich habe keine Erfahrung mit Pylonen, sondern nur eine Vorlage machen können Sie

from mako.template import Template 

mytemplate = Template(filename='email.html') 
sendemail("[email protected]", "[email protected]", mytemplate.render()) 

Der „Standalone“ Ansatz ist im Grunde die Art und Weise Mako mit vielen WSGI Frameworks wie CherryPy verwendet wird.

Mako Docs

+1

Danke. Das funktioniert großartig. Außerdem können Sie Variablen nur als benannte Variablen übergeben. Das ist mytemplate.render (c = my_var), damit my_var in der Vorlage als c sichtbar ist – Tom