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)
app dirs的Jinja模板文件夹默认jinja2不是标准templates文件夹.
因此,尝试以下目录结构,Django将找到您的Jinja模板:
mysite
mysite
myapp
jinja2
myapp
index.html
manage.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2164 次 |
| 最近记录: |