django:使用Jinja2模板引擎

导读:本篇文章讲解 django:使用Jinja2模板引擎,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一,什么是jinja2模板引擎

jinja官网:

Jinja is a modern and designer-friendly templating language for Python,modelled after Django’s templates. It is fast, widely used and securewith the optional sandboxed template execution environment:

特点:
在这里插入图片描述
相对于DTL(官方文档,也可以参考这篇文章}而言,jinja2更加性能高效、文档可读性也更高。

二,安装与配置

1,安装

在这里插入图片描述
在这里插入图片描述

2,配置

1,直接在settings.py中添加模板配置就行,不必删除内置的DTL的配置,否则可能会导致内置功能因为没有模板引擎而无法使用。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'DIRS': [
            os.path.join(BASE_DIR, 'index/templates'),
            os.path.join(BASE_DIR, 'templates'),
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'environment': 'messageBoard.jinja2.environment', 
        },
    },
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ], },
    },
]

2,全局使用jinja2模板
在项目同名目录中添加jinja2.py文件,该文件用于将jinja2模板加载到整个项目。
文件中需要实例化Environment类。

from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import Environment

def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': staticfiles_storage.url,
        'url': reverse,
    })
    return env

3,验证是否能正常使用

views.py:
def index(request):
    context = {'value': "这是jinja2"}
    return render(request, 'index.html', locals())

index.html:
<!DOCTYPE html>
<html>
	<head>
	    <link rel="shortcut icon" href="#"/>
	    <title>Jinja2</title>
	</head>
	<body>
		<div>
		    {{ context['value'] }}
		</div>
	</body>
</html>

在这里插入图片描述

三,模板语法

jinja2中文手册

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/98155.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!