1

単純なフィルターを実装する方法を見つけようとして、家々を回っています。

移植を容易にするために、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の場所と使用のためにロードする方法を理解できません。

ティア

4

1 に答える 1

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 %} を呼び出すだけです

于 2010-07-30T15:50:53.937 に答える