2013-03-29 114 views
2

我想以某種方式做與模板用於相反的事情:我想編寫模板並以編程方式派生出模板中存在的不同標記和佔位符的表示形式,以最終生成表單。換句話說,當您通常擁有數據並使用它填充模板時,我想擁有該模板並向用戶請求正確的數據以填充該模板。模板形式

實施例(利用僞語法):Hello {{ name_of_entity only-in ['World', 'Universe', 'Stackoverflow'] }}!
隨着我可以編程方式導出,我應該產生具有一個名爲「name_of_entity」和具有3 options(「世界」,「宇宙」 select標籤的形式,'堆棧溢出')。

我看着Jinja2,看起來我可以使用它並擴展它(即使它是以其他方式做事)。但我仍然不確定我應該如何在某些情況下做的,例如:

    如果我想代表 {{ weekday }}具有值僅在 ['Mo', 'Tu', ...]如果我想在該 {{ amount }}變量是模板來表示
  • 只接受整數...

Jinja是達到這些目標的良好基礎嗎?如果是的話,你會如何推薦這樣做?

回答

1

我認爲Jinja對於構建這個有意義,特別是因爲它包含一個完整的詞法分析器和解析器。您可以利用這些來獲得您自己的版本,以滿足您的需求。