博客 / 詳情

返回

在Django 中使用 jinja 模版

要在Django項目中使用Jinja2作為模板引擎,你需要安裝並配置django-jinja庫。以下是安裝和基本配置的步驟:

安裝 django-jinja
首先,確保你的環境中已經安裝了pip,然後通過pip安裝django-jinja:

pip install django-jinja

配置 Django 使用 django-jinja
接下來,你需要在你的Django項目的settings.py文件中配置模板引擎,使其使用django-jinja。

修改 TEMPLATES 設置:
打開你的settings.py文件,找到TEMPLATES設置,它應該是一個列表。你需要修改或添加一個新的字典項來指定Jinja2作為模板引擎。示例如下:

TEMPLATES = [
    {
        'BACKEND': 'django_jinja.backend.Jinja2',
        'APP_DIRS': True,
        'OPTIONS': {
            # 添加全局環境變量、過濾器等在這裏
            'environment': 'yourproject.jinja2.environment',
        },
    },
    # 默認的Django模板引擎配置,如果還需要使用的話
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        ...
    },
]

創建 Jinja2 環境配置:
在你的應用目錄下(或任何你認為合適的Python模塊內),創建一個jinja2.py文件,用來定義Jinja2的環境配置。例如:

# yourproject/jinja2.py
from django_jinja import base

def environment(**options):
    env = base.Environment(**options)
    # 添加過濾器、測試、全局變量等
    # env.filters['myfilter'] = my_filter_function
    # env.globals['myglobal'] = my_global_variable
    return env

在這個文件中,你可以自定義Jinja2環境,包括添加全局變量、過濾器、測試等。

使用 Jinja2 模板
現在,Django已經配置好使用Jinja2作為模板引擎了。Jinja2模板應保存在應用的templates目錄下,並且默認情況下,Django會自動查找與視圖函數關聯的應用的templates目錄。

例如,你可以在你的應用的templates目錄下創建一個名為index.html的Jinja2模板,並像下面這樣使用宏(macro):

<!-- templates/index.html -->
{% macro say_hello(name) %}
    <p>Hello, {{ name }}!</p>
{% endmacro %}

{{ say_hello("World") }}

確保你的視圖函數返回渲染這個模板的響應,例如:

from django.shortcuts import render

def index(request):
    return render(request, 'index.html')

這樣,你就完成了在Django項目中使用django-jinja的安裝和基本配置。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.