Django:基本模板的TemplateDoesNotExist错误
我了解了Django模板继承,并正在研究它 我在与其他模板相同的目录中制作了一个Django:基本模板的TemplateDoesNotExist错误,django,templates,template-inheritance,Django,Templates,Template Inheritance,我了解了Django模板继承,并正在研究它 我在与其他模板相同的目录中制作了一个base\u post\u login.html模板 然后键入{%extensed“base_post_login.html”%}作为子模板中的第一行 但是,当通过后端呈现子模板时,会引发TemplateDoesNotExist错误 这是settings.py(相关部分): 如果未扩展和父模板,则所有模板都将正确呈现 我该怎么办?您使用Django的方式不对,它应该使用父模板名称,因此请执行以下操作: {%exten
base\u post\u login.html
模板
然后键入{%extensed“base_post_login.html”%}
作为子模板中的第一行
但是,当通过后端呈现子模板时,会引发TemplateDoesNotExist
错误
这是settings.py(相关部分):
如果未扩展和父模板,则所有模板都将正确呈现
我该怎么办?您使用Django的方式不对,它应该使用父模板名称,因此请执行以下操作:
{%extends“base.html”%}
编辑
好的,我明白了,您应该像渲染其他模板一样使用模板路径:
假设您呈现为“templates/child_page.html”,那么您应该以相同的方式扩展{%extends“templates/base.html”%}
如果您使用Django的方式不正确,它应该使用父模板名称,因此请执行以下操作:
{%extends“base.html”%}
编辑
好的,我明白了,您应该像渲染其他模板一样使用模板路径:
假设您呈现为“templates/child_page.html”,那么您应该以同样的方式扩展
{%extends“templates/base.html”%}
对此表示抱歉..这是一个输入错误..现已修复..它是base\u post\u login.htmloh是..这很有效..谢谢..我认为这不是必需的,因为两个模板都在同一目录中,但它们是通过视图呈现的。实际上,每个模板在哪里都不重要,您必须使用模板路径来引用它,在视图中执行的操作与在模板中执行的操作相同。干杯很抱歉…这是一个输入错误..现已修复..它是base_post_login.htmloh是..这很有效..谢谢..我认为这不是必需的,因为两个模板都在同一目录中,但它们是通过视图呈现的。实际上,每个模板在哪里并不重要,您必须使用模板路径来引用它,在视图中执行的操作与在模板中执行的操作相同。干杯你的问题不清楚。你能解释一下你是如何构造你的应用程序的,并提到你的templates文件夹的位置吗?看起来你的子模板和base\u post\u login.html
不在同一个目录中。然后将APP\u DIRS
设置为True
。您的模板文件是否存在于不同应用的文件夹下?如果是这样,您可能需要在DIRS
选项中定义这些焊料。@alix他说>与其他模板在同一目录中我知道。。但有一点是不清楚的,并且在这个问题上遗漏了。代码应该使用这种结构@请检查我的答案更新,可能是您的问题不清楚。你能解释一下你是如何构造你的应用程序的,并提到你的templates文件夹的位置吗?看起来你的子模板和base\u post\u login.html
不在同一个目录中。然后将APP\u DIRS
设置为True
。您的模板文件是否存在于不同应用的文件夹下?如果是这样,您可能需要在DIRS
选项中定义这些焊料。@alix他说>与其他模板在同一目录中我知道。。但有一点是不清楚的,并且在这个问题上遗漏了。代码应该使用这种结构@请检查我的答案更新,可能是
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]