所以,既然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/