簡介¶
Jinja 是快速、具表現力且可擴充的範本引擎。範本中的特殊佔位符允許撰寫類似 Python 語法結構的程式碼。然後將資料傳遞給範本以呈現最終文件。
它包含
範本繼承和包含。
在範本中定義和匯入巨集。
HTML 範本可使用自動跳脫功能,防止不可信任使用者輸入的 XSS。
沙盒環境能安全地呈現不可信任的範本。
非同步支援,可自動處理同步和非同步函式,無需額外語法。
包含 Babel 的 I18N 支援。
範本會在執行時即時編譯成最佳化 Python 程式碼並快取,或可在執行前先編譯。
例外狀況會指向範本中的正確行,以簡化除錯。
可擴充的篩選器、測試、函式,甚至語法。
Jinja 的理念是,儘管應用程式邏輯若可使用 Python 執行時,不應因過度限制功能而增加範本設計者的工作難度。
安裝¶
我們建議使用最新版本的 Python。Jinja 支援 Python 3.7 及更新版本。我們也建議使用虛擬環境,以將專案相依性與其他專案及系統隔離。
使用 pip 安裝最新版本的 Jinja
$ pip install Jinja2
相依性¶
這些相依性會在安裝 Jinja 時自動安裝。
MarkupSafe在呈現範本時,會跳脫不可信任的輸入,以避免注入攻擊。
選用相依性¶
這些發行套件不會自動安裝。
Babel提供範本中的翻譯支援。