博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django如何使用Jinja2作为模板引擎
阅读量:5729 次
发布时间:2019-06-18

本文共 1638 字,大约阅读时间需要 5 分钟。

在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 在配置文件中找到如下代码:

TEMPLATES = [    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',        'DIRS': [],        'APP_DIRS': True,        'OPTIONS': {            # ... some options here ...        },    },]复制代码
  • 字段解释
    • BACKEND: 即配置的后端模板引擎
    • DIRS:默认为空列表,引擎搜索模板文件的路径
    • APP_DIRS:默认为True(使用Django-admin startproject创建),表示引擎是否去已安装的app路径下去搜索模板文件。

这段代码即为Django默认生成的模板配置。所以,将引擎替换成Jinja2的第一步,就是修改这一段配置:

TEMPLATES = [    {        'BACKEND': 'django.template.backends.jinja2.Jinja2',        'DIRS': [],		  'APP_DIRS': True,        'OPTIONS': {            # ... some options here ...        },    },]复制代码

OPTIONS

使用Jinja2时,需要在OPTIONS字段中,添加环境变量的路径,以使得模版API可以统一起来,你可以创建这样一个文件project_name/jinja2.py,内容如下:

from django.contrib.staticfiles.storage import staticfiles_storagefrom django.urls import reversefrom jinja2 import Environmentdef environment(**options):    env = Environment(**options)    env.globals.update({        'static': staticfiles_storage.url,        'url': reverse,    })    return env复制代码

并且在options中添加如下代码:

TEMPLATES = [    {        'BACKEND': 'django.template.backends.jinja2.Jinja2',        'DIRS': [],		  'APP_DIRS': True,        'OPTIONS': {            # ... some options here ...			‘project_name.jinja2.environment’        },    },]复制代码

至此,就可以在项目中愉快的使用Jinja2啦~

转载地址:http://trpwx.baihongyu.com/

你可能感兴趣的文章
网站开发流程以及HTML5简介(八)
查看>>
MairDB 初始数据库与表 (二)
查看>>
RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
查看>>
连接数据库——java
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
TRUNK
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
MDT 2013 从入门到精通之软件自动化部署设置
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
桌面支持--outlook取消收件规则1
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
儿呀,娘想做你家的一条狗
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>
Project build error: Non-resolvable import POM
查看>>
数据类型
查看>>
Python 中的进程、线程、协程、同步、异步、回调
查看>>
swoft速学~redis引入
查看>>