IronPython 的工作模板引擎?

发布于 2024-09-29 16:49:46 字数 110 浏览 3 评论 0 原文

我很想在 IronPython 中使用一个很好的模板引擎,但还没有成功。最好能够无需添加 Python 标准库。不知道这是否可能。

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

I'd love to use a nice template-engine with IronPython but havent succeded doing so. Would be best to be able to without needing to add Python standard lib's. Dont know if that's possible.

I like the Ruby Erb syntax, and hoped to be able to use something similar.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九八野马 2024-10-06 16:49:46

我个人最喜欢的是 Jinja2,但它更接近 Django 语法而不是 ERB 语法(Mako 在这方面似乎相当接近)。你可以看看这个关于Python模板引擎的问题以获得更多想法。

我可以保证 Jinja2 在 IronPython 上工作。它确实需要标准库(我猜大多数其他库也需要),并且要注意 这个bug 如果你运行的是 IronPython < v2.7b1(请参阅有关 IronPython 早期版本的 Jinja2 特定解决方法的注释),以及 this unicode bug,但除此之外它工作得很好。

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

My personal favourite is Jinja2, but it's much closer to Django syntax than to ERB syntax (Mako seems reasonably close in that respect). You can take a look at this question about Python templating engines for more ideas.

I can vouch for Jinja2 working on IronPython. It does need the standard library (and I'd guess most of the others do too), and beware of this bug if you're running IronPython < v2.7b1 (see the comments for a workaround specific to Jinja2 for earlier releases of IronPython), as well as this unicode bug, but otherwise it works great.

One thing to keep in mind is that template engines tend to import a lot of code (even if it's only standard libraries), which makes them slow to load on IronPython, but fast after the initial JIT compilation.

澉约 2024-10-06 16:49:46

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

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

Yes - the built in way is conveniant enough for my needs:

def content(result):  
    return """  
    <p>Thank you for posting!</p>  
    <p>Result : {result}</p>  
    """.format(result=result) 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文