无法让Jinja2与django 1.9合作

时间:2016-08-01 16:17:44

标签: django jinja2

如果按照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后端,但得到了与上面相同的错误。

不确定还有什么要尝试的!

0 个答案:

没有答案