我试图找到一种方法来实现一个简单的过滤器。
我想创建相当于一些Smarty“标签”,以便更轻松地移植 {mail_to} http://www.smarty.net/manual/en/language.function.mailto.php
我似乎在jinga2文档之间绕圈子 http://jinja.pocoo.org/2/documentation/extensions#module-jinja2.ext
和webhelpers http://pylonshq.com/docs/en/0.9.7/modules/templating/
我期待写的是
{% mail_to user=c.user.email encode='hex' %}
无法弄清楚如何将它们拼凑在一起,即lib的位置以及如何加载使用。
TIA
答案 0 :(得分:1)
写下您的扩展并将其放入lib / extensions.py
要在config / environment.py中将扩展加载到环境中,请执行以下操作:
from MYAPP.lib import extensions
config['pylons.app_globals'].jinja2_env = Environment(loader=ChoiceLoader(
[FileSystemLoader(path) for path in paths['templates']]),
extensions=[extensions.YOU_EXTENSION_MAIL_TO_CLASS]))
# If you extension use some options, you can init it
config['pylons.app_globals'].jinja2_env.mail_to_smtp_host = 'some_host'
在你的模板之后,只需调用{%mail_to arg1,arg2%}