Django 模板错误:无法扩展模板 u'base.html

0 投票
3 回答
2711 浏览
提问于 2025-04-15 12:57

我在运行一个django应用程序(dpaste)时遇到了这个错误。

Template error

In template c:\python\projects\mycms\dpaste\templates\dpaste\base.html, error at line 1

Template u'base.html' cannot be extended, because it doesn't exist

1   {% extends "base.html" %}

但是"base.html"确实存在于模板目录中,并且里面有这一行:

{% extends "base.html" %}

这有什么问题呢?

3 个回答

1

如果你想表达的是:

{% extends "base.html" %}

这行代码只在包含的模板中,而不是在基础模板中,那么你可能遇到的问题是“base.html”是相对于模板根目录的。

所以如果在设置中你有:

TEMPLATE_DIRS = ("/home/me/mysite/mytemplates")

而包含的模板是:

/home/me/mysite/mytemplates/myapp/page.html

基础模板是:

/home/me/mysite/mytemplates/myapp/base.html

那么你应该使用:

{% extends "myapp/base.html" %}

至少这是我在找到这个页面时遇到的问题。

1

一个模板不能自己扩展。

3

你的 base.html 模板不能自己扩展。问题就在这里。把那一行删掉,换成有效的 HTML 代码或者其他 Django 模板标签(或者扩展其他模板)。

撰写回答