Django中使用jinjia2模板引擎的方法
在Django中,有自带的模板引擎DjangoTemplates
用来渲染模板,使用Django的模版语言,叫做DTL,Jinja2也是十分常见的模板渲染引擎,Django对Jinja2也提供了支持,那么如何将你的Django项目配置成使用Jinja2引擎呢?
安装Jinja2
首先,需要在当前环境中安装Jinja2: pip install jinja2
可以通过pip list
查看当前python环境中安装的模块。
配置文件
Django的配置,一般是放在settings.py
文件中,模板的配置也在此文件中,如果你是使用Django-admin startproject project_name
来创建的项目的话,配置文件的默认路径为: ./project_name/project_name/settings.py
在配置文件中找到如下代码:
1 TEMPLATES = [ 2 { 3 'BACKEND': 'django.template.backends.django.DjangoTemplates', 4 'DIRS': [], 5 'APP_DIRS': True, 6 'OPTIONS': { 7 # ... some options here ... 8 }, 9 }, 10 ]
- 字段解释
BACKEND
: 即配置的后端模板引擎DIRS
:默认为空列表,引擎搜索模板文件的路径APP_DIRS
:默认为True
(使用Django-admin startproject
创建),表示引擎是否去已安装的app路径下去搜索模板文件。
这段代码即为Django默认生成的模板配置。所以,将引擎替换成Jinja2的第一步,就是修改这一段配置:
OPTIONS
1 TEMPLATES = [ 2 { 3 'BACKEND': 'django.template.backends.jinja2.Jinja2', 4 'DIRS': [], 5 'APP_DIRS': True, 6 'OPTIONS': { 7 # ... some options here ... 8 }, 9 }, 10 ]
使用Jinja2时,需要在OPTIONS字段中,添加环境变量的路径,以使得模版API可以统一起来,你可以创建这样一个文件project_name/jinja2.py
,内容如下:
1 from django.contrib.staticfiles.storage import staticfiles_storage 2 from django.urls import reverse 3 from jinja2 import Environment 4 def environment(**options): 5 env = Environment(**options) 6 env.globals.update({ 7 'static': staticfiles_storage.url, 8 'url': reverse, 9 }) 10 return env
并且在options中添加如下代码:
1 TEMPLATES = [ 2 { 3 'BACKEND': 'django.template.backends.jinja2.Jinja2', 4 'DIRS': [], 5 'APP_DIRS': True, 6 'OPTIONS': { 7 # ... some options here ... 8 ‘project_name.jinja2.environment’ 9 }, 10 }, 11 ]
至此,就可以在项目中愉快的使用Jinja2啦~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?