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.
。