這裡是 Jinja2 教學 的快速入門,適合用於 Flask 或其他 Python Web 框架中:
一、什麼是 Jinja2?
Jinja2 是一個功能強大的 Python 模板引擎,用來將變數、流程控制(if/for)插入 HTML,達成動態網頁的渲染。
二、基本語法
1. 變數插入
<p>Hello, {{ name }}!</p>
2. 條件判斷
{% if user %}
<p>Welcome, {{ user }}!</p>
{% else %}
<p>Welcome, Guest!</p>
{% endif %}
3. 迴圈
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
4. 過濾器
{{ name|upper }} {# 轉成大寫 #}
{{ items|length }} {# 長度 #}
三、搭配 Flask 使用
1. 安裝 Flask(自帶 Jinja2)
pip install flask
2. 基本範例
app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html", name="Samuel", items=["Apple", "Banana", "Cherry"])
if __name__ == "__main__":
app.run(debug=True)
templates/index.html
<!DOCTYPE html>
<html>
<head><title>Jinja2 Demo</title></head>
<body>
<h1>Hello, {{ name }}!</h1>
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</body>
</html>
四、常用功能
| 功能 | 語法範例 |
|---|---|
| 註解 | {# 這是註解 #} |
| include 模板 | {% include 'header.html' %} |
| extend 模板 | {% extends 'base.html' %} |
| 定義區塊 | {% block content %}{% endblock %} |
| 避免 HTML 轉義 | `{{ name |
文章標籤
全站熱搜
