要在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的安装和基本配置。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。