我正在构建Django应用,并选择将Jinja2用于我的模板引擎。我注意到从Django的内置模板引擎切换到Jinja2后,load
关键字将不起作用,例如:{% load static %}
。这用于加载CSS之类的静态文件。在Django中是否有针对Jinja的解决方法?
从settings.py:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
os.path.join(BASE_DIR, 'app/templates/jinja2'),
],
'APP_DIRS': True,
'OPTIONS': {
'environment': 'my_project.jinja2.environment',
},
},
的Django:1.11
Jinja2:2.9.6
最佳答案
django模板引用中Jinja2的手册部分对此进行了解释
是的,{%load static%}不存在,但是有一个简单的解决方法。同样,该示例来自引用
from __future__ import absolute_import # Python 2 only
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
关于python - 在Django中使用Jinja2,加载标签不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44271949/