web-dev-qa-db-ja.com

base.html問題を拡張する

次のエラーが発生します:

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ファイルを別の場所に配置する必要がありますか?

19
momo

yoga/index.htmlと「同じ場所にある」とは、テンプレートが実際にはyoga/base.htmlであることを意味します。

TEMPLATE_DIRSに/home/mo/python/Django/templates/が含まれていると仮定します。.../yoga/は含まれないため、次のことを行う必要があります。

base.html/home/mo/python/Django/templates/に移動します

OR

テンプレートに{% extends "yoga/base.html" %}を書き込みます

16
Evgecyn

Base.htmlは、設定ファイルのTEMPLATE_DIRSリストのディレクトリにありますか?

4
PhoebeB

Base.html 'base.html'を使用するには、ファイルをテンプレートフォルダのベースに配置する必要があります。templates / home / base.htmlなどの別のフォルダにある場合は、を使用してパスを指定する必要があります。

{ % Extends ' home / base.html '% }
1
Zarkys Salas