2010-06-17 8 views
18

sto ottenendo il seguente errore:estendere problema 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 

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> 

cosa sta andando esattamente qui? il file base.html dovrebbe essere posizionato altrove?

risposta

18

"Nello stesso posto" come yoga/index.html significa che il modello è in realtà yoga/base.html.

3

È base.html in una directory nell'elenco TEMPLATE_DIRS nel file delle impostazioni?

16

TEMPLATE_DIRS Supponendo contiene /home/mo/python/django/templates/, senza la .../yoga/, quindi è necessario:

mossa base.html in /home/mo/python/django/templates/

O

scrittura {% extends "yoga/base.html" %} nel modello

+1

Delle due opzioni fix, penso che le migliori prassi sarebbe quella di mettere 'base.html' in/home/mo/Python/Django/templates/e lascia invariato il tuo riferimento "extends". Ciò manterrà l'app modulare. Un altro sito che hai creato può scegliere di utilizzare il file 'base.html 'della tua app o forzarlo e forzare la tua app ad assumere la nuova intestazione/piè di pagina/stile del nuovo sito. Penso che questo sia il modo in cui Pinax fa i temi, ecc. – hobs

1

Base.html di file deve essere posizionato alla base della cartella dei modelli per utilizzare 'base.html', se trova in un'altra cartella, quali: templates/home/base.html, allora è necessario specificare il percorso utilizzando

{ % Extends ' home/base.html '% } 
+1

La tua risposta aggiunge qualcosa di più rispetto a [Ignacio Vazquez-Abrams] (http://stackoverflow.com/a/3066407/3375713) e [Evgecyn's] (http://stackoverflow.com/a/3067380/3375713) risposte? Ne dubito. –