簡介

Jinja 是快速、具表現力且可擴充的範本引擎。範本中的特殊佔位符允許撰寫類似 Python 語法結構的程式碼。然後將資料傳遞給範本以呈現最終文件。

它包含

  • 範本繼承和包含。

  • 在範本中定義和匯入巨集。

  • HTML 範本可使用自動跳脫功能,防止不可信任使用者輸入的 XSS。

  • 沙盒環境能安全地呈現不可信任的範本。

  • 非同步支援,可自動處理同步和非同步函式,無需額外語法。

  • 包含 Babel 的 I18N 支援。

  • 範本會在執行時即時編譯成最佳化 Python 程式碼並快取,或可在執行前先編譯。

  • 例外狀況會指向範本中的正確行,以簡化除錯。

  • 可擴充的篩選器、測試、函式,甚至語法。

Jinja 的理念是,儘管應用程式邏輯若可使用 Python 執行時,不應因過度限制功能而增加範本設計者的工作難度。

安裝

我們建議使用最新版本的 Python。Jinja 支援 Python 3.7 及更新版本。我們也建議使用虛擬環境,以將專案相依性與其他專案及系統隔離。

使用 pip 安裝最新版本的 Jinja

$ pip install Jinja2

相依性

這些相依性會在安裝 Jinja 時自動安裝。

  • MarkupSafe在呈現範本時,會跳脫不可信任的輸入,以避免注入攻擊。

選用相依性

這些發行套件不會自動安裝。

  • Babel提供範本中的翻譯支援。