2016-11-13 2 views
0

Ich beginne eine sehr einfache Django-App, habe aber Probleme mit der Erweiterung einer HTML-Datei.Django TemplateDoesNotExist {% erweitert base.html%} - wo soll die Vorlage sein?

Ich habe base.html und index.html beide innerhalb my_site/my_app/templates/my_app.

, d.h. my_site/my_app/templates/my_app/base.html und .

Innerhalb der index.html Datei habe ich {% extends 'base.html' %}.

Meine settings.py Datei hat

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates')], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

Aber wenn ich besuche meine Index Blick auf http://127.0.0.1:8000/index/:

def index(request): 
    return render(request, 'my_app/index.html') 

bekomme ich folgende Fehlermeldung:

TemplateDoesNotExist at /index/ 
base.html 
Request Method: GET 
Request URL: http://127.0.0.1:8000/index/ 
Django Version: 1.10.3 
Exception Type: TemplateDoesNotExist 
Exception Value: base.html 

Muss ich die base.html Datei am falschen Ort gespeichert oder ist es etwas sonst? Ich konnte das nicht lösen.

+0

Wie ist 'BASE_DIR' definiert? – yuvi

+0

Vergessen, das hinzuzufügen, jetzt oben enthalten. 'BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file __)))' und settings.py ist gespeichert in 'my_site/my_site' – James

Antwort

1

Es sollte in my_site/my_app/templates oder my_site/templates sein.

+0

Ich habe versucht, es zu my_site/my_app/zu verschieben Vorlagen, aber ich bekomme dann eine 'NoReverseMatch at/index /' Fehler: 'Reverse für 'Index' mit Argumenten '()' und Schlüsselwortargumente '{}' nicht gefunden. 0 Muster versucht (en): [] ' – James

+0

Nun, das ist ein völlig separates Problem, das nichts damit zu tun hat, dass Ihre Vorlage nicht gefunden wird. –

+0

Danke - du hast Recht. Ich habe das jetzt auch behoben, also funktioniert alles. Du hast die Antwort behoben, was ich gefragt habe - die Vorlage wird jetzt gefunden. – James