2010-10-28 29 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)