estendere problema base.html
Domanda
sto ottenendo il seguente errore:
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
Questo è il mio file base.html, che si trova nello stesso posto come 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>
che cosa esattamente sta succedendo qui? il file dovrebbe base.html trovarsi da qualche altra parte?
Soluzione
"Allo stesso luogo", come mezzo yoga/index.html
che il modello è in realtà yoga/base.html
.
Altri suggerimenti
TEMPLATE_DIRS Supponendo contiene /home/mo/python/django/templates/
, senza la .../yoga/
, quindi è necessario:
mossa base.html
in /home/mo/python/django/templates/
o
{% extends "yoga/base.html" %}
scrittura nel modello
È base.html in una directory nella lista TEMPLATE_DIRS nel file di impostazioni?
Base.html file deve essere situato alla base dei modelli di cartella da utilizzare 'base.html', se trova in un'altra cartella, quali: templates / home / base.html
, allora è necessario specificare il percorso utilizzando
{ % Extends ' home / base.html '% }