2010-10-28 58 views
1

我很乐意在IronPython上使用一个漂亮的模板引擎,但并未成功完成这项工作。最好能够不需要添加Python标准库。不知道这是可能的。IronPython的工作模板引擎?

我喜欢Ruby Erb语法,希望能够使用类似的东西。

+1

为什么你想避免标准库? – Cameron 2010-10-29 23:52:58

回答

2

我个人最喜欢的是Jinja2,但它比Django语法更接近ERB语法(Mako在这方面似乎相当接近)。你可以看看this question about Python templating engines了解更多的想法。

我可以为在IronPython上工作的Jinja2担保。它确实需要标准库(我猜其他大多数人也是这样做的),如果你运行的是IronPython < v2.7b1,请注意this bug(请参阅针对早期版本的IronPython的针对Jinja2的解决方法的评论) ,以及this unicode bug,但否则它效果很好。

有一点需要记住的是,模板引擎倾向于导入大量代码(即使它只是标准库),这使得它们在IronPython上加载速度很慢,但在初始JIT编译后快速加载。

+0

你能告诉我们你是如何在IronPython中使用Jinja2的?此外,讨论其他引擎的链接也被打破了(因为StackOverflow仅对您可以在特定产品手册中找到的信息进行评估)。 – 2015-08-20 03:00:46

+0

@Derf:啊,这个链接太糟糕了。最佳答案是Jinja,其次是Python中的内置字符串插值,其次是Genshi,其次是Mako。自从我整合了Jinja2以来已经有一段时间了,但是我记得除了我链接的这个错误外,它相当简单,另一个我忘记了链接,但是刚刚添加。 – Cameron 2015-08-20 12:37:43

0

是 - 内置的方式是conveniant足够满足我的需求:

def content(result): 
    return """ 
    <p>Thank you for posting!</p> 
    <p>Result : {result}</p> 
    """.format(result=result)