我正在尝试使用jinja2如下。
假设,
以下是标签:
tags: {"world":"WORLD", "c language": "Dennis Ritchie", "apple":"JOBS" }
输入:
HELLO {{ world }}, C is written by **{{ c language }}**, **}}** while **{{** java is written by {{ java }}, hola.
输出:
HELLO WORLD, C is written by Dennis Ritchie, **}}** while **{{** java is written by, hola.
总之,我必须做以下事情。
满分4分,只有1分和1分。 2 jinja2工作正常。
from jinja2 import Template
t = Template(input_string)
t.render(context)
但是对于第3和第3 4,它没有工作。(或者我错了。)
我发现只有一个名为"小胡子"它支持上述所有4个条件。但是我不知道它是如何起作用的。
由于jinja2是成熟的模板引擎,我认为可以自定义默认行为。
有人知道解决方案吗?
Thnx提前。
我的主要测试表明,Mustache(Pystache)比jinja2快得多。如果可能请提供专家意见。
答案 0 :(得分:1)
答案 1 :(得分:0)
我不认为这是可能的。 documentation对标识符非常清楚:
Jinja2使用常规的Python 2.x命名规则。有效标识符 必须匹配[a-zA-Z _] [a-zA-Z0-9 _] *。事实上非ASCII 目前不允许使用字符。可能会出现这种限制 只要为Python 3完全指定了unicode标识符,就会离开。