如果按照django 1.9 docs(https://docs.djangoproject.com/en/1.9/topics/templates/#django.template.backends.jinja2.Jinja2)中的建议进行安装 在TEMPLATES中有两个项目,第一个是jinja2后端,第二个是django后端:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
PROJECT_ROOT+ "/templates/jinja",
],
'APP_DIRS' : True,
'OPTIONS': {
'environment': 'commshub.jinja2_settings.environment',
},
},
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
PROJECT_ROOT+ "/templates",
],
'OPTIONS': {
'debug': DEBUG,
'context_processors': [
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.media",
'django.core.context_processors.request',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
],
},
},
但没有'环境'设置,然后似乎工作,前提是我同时删除了jinja和django的'auto_reload'设置,否则获取
__init__() got an unexpected keyword argument 'auto_reload'
如果我添加myproj.jinja2.py包含django docs中显示的内容,仍然没有“环境”选项,我得到:
cannot import name Environment
如果我将“从jinja2 import Environment”更改为“”来自jinja2.environment导入环境“
No module named environment
根据这篇文章https://groups.google.com/forum/#!msg/django-users/pytjLOVUwmM/gbiDmswSuq4J,我尝试将jinja2.py重命名为jinja2_settings.py并添加此TEMPLATE选项:
'environment': 'jinja2_settings.environment', -> pop() takes no arguments (2 given)
'environment': 'myproj.jinja2_settings.environment', -> No module named commshub.jinja2_settings
尝试完全删除django后端,但得到了与上面相同的错误。
不确定还有什么要尝试的!