Django 模板错误:无法扩展模板 u'base.html
我在运行一个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 模板标签(或者扩展其他模板)。