這裡是 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

 

文章標籤
全站熱搜
創作者介紹
創作者 liusming 的頭像
liusming

劉老師的跨域創想工坊

liusming 發表在 痞客邦 留言(0) 人氣(44)