我一直在寻找如何在django 1.8中使用jinja2的方法,但是没有完整的源代码可以将django与jinja2一起使用。我想知道你们是否知道在Django中使用jinja2的过程。我查看了官方文档,并查看了以下问题:如何设置django 1.8以使用jinja2?
但是他们都没有清楚地解释如何以综合方式使用jinja2。我刚刚开始使用django,不了解文档中的所有术语。我真的很感谢你的帮助。
第一拳你必须安装jinja2:
$ pip install Jinja2
然后TEMPLATES在settings.py中修改你的列表,使其包含jinja2 BACKEND:
jinja2 BACKEND
TEMPLATES = [ { 'BACKEND': 'django.template.backends.jinja2.Jinja2', 'DIRS': [os.path.join(BASE_DIR, 'templates/jinja2')], 'APP_DIRS': True, 'OPTIONS': {'environment': 'myproject.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', ], }, }, ]
templates/jinja2jinja2模板文件所在的目录在哪里。
templates/jin
并在你的views.py文件中:
from __future__ import absolute_import # Python 2 only from jinja2 import Environment from django.contrib.staticfiles.storage import staticfiles_storage from django.urls import reverse def environment(**options): env = Environment(**options) env.globals.update({ 'static': staticfiles_storage.url, 'url': reverse, }) return env
这使得static与url在你所在的Jinja2模板。
static
url