Jinja意思

Jinja 是一個用 Python 編寫的模板引擎,它是 Python 標準庫中 Web 框架 FlaskPyramid 的默認模板引擎。Jinja 提供了許多強大的功能,包括模板繼承、宏、過濾器、測試和表達式語言。

Jinja 的設計靈感來自於 Ruby on RailsERBPythonMako 模板引擎。它的語法與 HTML 非常相似,因此對於熟悉 HTML 的開發者來說,使用 Jinja 非常容易上手。

Flask 中使用 Jinja 的示例:

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True)

在這個例子中,Flask 套用使用 render_template 函式來渲染 index.html 檔案。index.html 檔案是一個 Jinja 模板,可以在 Flask 套用的 templates 目錄中找到。

Jinja 模板檔案通常包含動態內容,這些內容在 Flask 套用渲染模板時會被 Python 代碼替換。例如,在模板中使用 {{ name }} 可以插入 name 變數的值。

<h1>Hello, World!</h1>
<p>My name is {{ name }}.</p>

Flask 套用中,你可以這樣設定 name 變數:

@app.route('/')
def index():
    name = 'Jinja'
    return render_template('index.html', name=name)

這樣,當 Flask 套用渲染 index.html 模板時,My name is {{ name }}. 這一行將會被替換為 My name is Jinja.