Jinja意思
Jinja 是一個用 Python 編寫的模板引擎,它是 Python 標準庫中 Web 框架 Flask 和 Pyramid 的默認模板引擎。Jinja 提供了許多強大的功能,包括模板繼承、宏、過濾器、測試和表達式語言。
Jinja 的設計靈感來自於 Ruby on Rails 的 ERB 和 Python 的 Mako 模板引擎。它的語法與 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.。