6

これは、カスタマイズされた電子メール ニュースレターを生成するために使用できる Python の最もシンプルで軽量な HTML テンプレート エンジンです。

4

5 に答える 5

17

非常にマイナーなテンプレート タスクの場合、Python 自体はそれほど悪くはありません。例:

def dynamic_text(name, food):
    return """
    Dear %(name)s,
    We're glad to hear that you like %(food)s and we'll be sending you some more soon.
    """ % {'name':name, 'food':food}

この意味で、単純なテンプレート化のために Python で文字列の書式設定を使用できます。それはそれが得られるのと同じくらい軽量です。

もう少し深く掘り下げたい場合、Jinja2は多くの意見で最も「デザイナーに優しい」(読み: シンプルな) テンプレート エンジンです。

マコとゲンシも見ることができます。最終的には、選択はあなた次第です (あなたが望む機能を備え、システムとうまく統合されるもの)。

于 2010-12-10T06:04:55.007 に答える
16

string.Templateに何か問題がありますか?これは標準のPythonディストリビューションに含まれており、PEP292でカバーされています。

from string import Template

form=Template('''Dear $john,

I am sorry to imform you, $john, but you will not be my husband
when you return from the $theater war. So sorry about that. Your
$action has caused me to reconsider.

Yours [NOT!!] forever,

Becky

''')

first={'john':'Joe','theater':'Afgan','action':'love'}
second={'john':'Robert','theater':'Iraq','action':'kiss'}
third={'john':'Jose','theater':'Korean','action':'discussion'}

print form.substitute(first)
print form.substitute(second)
print form.substitute(third)
于 2010-12-10T06:06:21.623 に答える
1

Werkzeug Mini Templatesは、この法案にかなり合っていると思います。

Githubにあるソースコードはこちら。

于 2010-12-10T06:05:53.343 に答える
-2

python-micro-template を試してみてください:

https://github.com/diyism/python-micro-template

使用例(kivy):

import python_micro_template
...
kvml=open('example_kivy_scrollview.kvml', 'r').read()
kvml=python_micro_template.tpl.parse(kvml)
grid=Builder.load_string(kvml)
...

テンプレート例(kvml):

<:for i in range(30):#{#:>
Button:
    text: '<:=i:><:for j in range(6):#{#:><:=j:><:#}#:>'
    size: 480, 40
    size_hint: None, None
<:#}#:>
于 2014-02-26T02:41:00.637 に答える