所以,既然django正式支持Jinja 2作为模板引擎,我希望启用它就像在config中切换一行一样简单。但当我这么做的时候,jinja找不到我的模板。
我的理解是,我可以手动配置一个目录列表,让它在其中查找模板,但我希望它的行为与默认情况下DTL的行为完全相同。
(即查看/templates目录)。基本上,我的应用程序是按照官方教程中建议的方式构建的,我希望使用jinja而不改变其他任何东西。有可能吗?
下面是我的setings.py文件的外观:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'APP_DIRS': True,
    },
]

我得到的错误是TemplateDoesNotExist at /
下面是我的目录结构:
mysite
    mysite
    myapp
        templates
            myapp
                index.html
    manage.py

请注意,我希望不要使用任何外部模块。
编辑:根据要求,下面是调用模板的代码:
def index(request):
    return render(request, 'myapp/index.html')

最佳答案

app dirs的Jinja模板文件夹默认为jinja2而不是标准的templates文件夹。
因此,请尝试以下目录结构,Django将找到您的Jinja模板:

mysite
    mysite
    myapp
        jinja2
            myapp
                index.html
    manage.py

关于python - 如何设置Django 1.8以使用jinja2?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30288351/

10-11 22:58