如何设置django 1.8使用jinja2?

man*_*exx 2 python django jinja2 python-3.x

所以,既然django正式支持Jinja 2作为模板引擎,我希望启用它就像在配置中切换一行一样简单.但是当我这样做时,jinja找不到我的模板.

我的理解是我可以手动配置目录列表以便查找模板,但我希望它的行为与默认情况下的DTL行为完全相同.(即查看/ templates目录).基本上,我的应用程序的结构与官方教程中的建议方式相同,我想在不改变任何其他内容的情况下使用jinja.可能吗?

这是我的setings.py文件现在的样子:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'APP_DIRS': True,
    },
]
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 TemplateDoesNotExist at /

这是我的目录结构:

mysite
    mysite
    myapp
        templates
            myapp  
                index.html
    manage.py
Run Code Online (Sandbox Code Playgroud)

请注意,我希望不使用任何外部模块.

编辑:根据要求,这是调用模板的代码:

def index(request):
    return render(request, 'myapp/index.html')
Run Code Online (Sandbox Code Playgroud)

D R*_*bio 7

app dirs的Jinja模板文件夹默认jinja2不是标准templates文件夹.

因此,尝试以下目录结构,Django将找到您的Jinja模板:

mysite
    mysite
    myapp
        jinja2
            myapp  
                index.html
    manage.py
Run Code Online (Sandbox Code Playgroud)