我收到以下错误:
Template error
In template /home/mo/python/django/templates/yoga/index.html, error at line 1
Caught TemplateDoesNotExist while rendering: base.html
1 {% extends "base.html" %}
2
3 {% block main %}
4 <p>{{ page.title }}</p>
5 <p>{{ page.info}}</p>
6 <a href="method/">Method</a>
7 {% endblock %}
8
这是我的base.html文件,与index.html位于同一位置
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<div style="width:50%; marginleft:25%;">
{% block main %}{% endblock %}
</div>
到底发生了什么? base.html文件应该位于其他地方吗?
答案 0 :(得分:18)
“与yoga/index.html
在同一位置”表示该模板实际上是yoga/base.html
。
答案 1 :(得分:16)
假设TEMPLATE_DIRS包含/home/mo/python/django/templates/
,而不包含.../yoga/
,那么您需要:
将base.html
移至/home/mo/python/django/templates/
OR
在模板中写下{% extends "yoga/base.html" %}
答案 2 :(得分:4)
base.html是否位于设置文件的TEMPLATE_DIRS列表中的目录中?
答案 3 :(得分:1)
Base.html 文件必须位于模板文件夹的底部才能使用&#39; base.html&#39; ,如果位于另一个文件夹中,例如:templates / home / base.html
,则必须使用
{ % Extends ' home / base.html '% }