首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Jinja2定制模板

使用Jinja2定制模板
EN

Stack Overflow用户
提问于 2014-06-20 13:15:00
回答 2查看 413关注 0票数 1

我试图使用jinja2,如下所示。

假设,

以下是标签:

代码语言:javascript
运行
复制
tags: {"world":"WORLD", "c language": "Dennis Ritchie", "apple":"JOBS" }

输入:

代码语言:javascript
运行
复制
HELLO {{ world }}, C is written by **{{ c language }}**, **}}** while **{{** java is written by {{ java }}, hola.

输出:

代码语言:javascript
运行
复制
HELLO WORLD, C is written by Dennis Ritchie, **}}** while **{{** java is written by, hola.

总之,我必须做以下几件事。

  1. 分隔符- {{ & }}
  2. 如果没有预定义的标记,则应该将其放置为空。
  3. 如果只有一个分隔符{或}(我的意思是不对),则不应该考虑标记,否则就应该打印它。
  4. 标签应该允许空格。

在4台中,只有1&2 jinja2工作正常。

代码语言:javascript
运行
复制
from jinja2 import Template
t = Template(input_string)
t.render(context)

但是对于第三和第四,它是不起作用的。(或者说我错了。)

我发现只有一个模板引擎,称为“胡子”,它支持以上4个条件。但我不知道在表演的情况下它是如何工作的。

由于jinja2是成熟的模板引擎,我认为可以定制默认行为。

有人知道解决办法吗?

提前通知。

我的初步测试表明,胡子(Pystache)比jinja2快。如有可能,请提供专家意见。

http://mustache.github.io/

https://github.com/defunkt/pystache

EN

回答 2

Stack Overflow用户

发布于 2014-06-26 12:27:41

最后,我继续的胡子。这是一个非常棒的模板引擎。

http://mustache.github.io/

为蟒蛇修造胡子

https://github.com/defunkt/pystache

票数 1
EN

Stack Overflow用户

发布于 2014-06-20 13:36:42

我觉得这不可能。文档在标识符方面非常清楚:

Jinja2使用常规Python2.x命名规则。有效标识符必须与a_*匹配。事实上,目前不允许使用非ASCII字符。一旦Python3完全指定了unicode标识符,这个限制可能就会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24328182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档