Django & der "TemplateDoesNotExist" Fehler

Ich habe ein wie es scheint übliches Anfängerproblem.

Ich arbeite an meinem ersten Django-Projekt und wenn ich meine Ansicht einrichte, erhalte ich die Fehlermeldung "TemplateDoesNotExist". Ich habe jetzt viele Stunden damit verbracht - und ich weiß, dass es viele Themen gibt, aber bis jetzt hat mir nichts geholfen.

Ich hoffe, ich kann alle erforderlichen Informationen bereitstellen, damit ein fortgeschrittener Django-Benutzer wahrscheinlich direkt sehen kann, was ich falsch mache.

Ich benutze den Entwicklungsserver. und Windows 7 & sqlite3.

Das ist der Fehler, den ich bekomme:

TemplateDoesNotExist at /skates/
allsk8s.html
Request Method: GET
Request URL:    http://127.0.0.1:8000/skates/
Django Version: 1.4.3
Exception Type: TemplateDoesNotExist

In settings.py habe ich TEMPLATE_DIRS folgendermaßen eingerichtet:

TEMPLATE_DIRS = (
    r'H:/netz2/skateprojekt/templates/',
)

Der Vorlagenlader sieht folgendermaßen aus:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

Das ist meine Ansicht:

from django.shortcuts import render_to_response
from django.template import RequestContext
from sk8.models import Sk8

def AllSk8s(request):
    skates      = Sk8.objects.all().order_by('name')
    context     = {'skates':skates}
    return render_to_response('allsk8s.html', context, context_instance=RequestContext(request))

es sollte auf allsk8s.html verlinken - und es sieht so aus, als wäre es so, aber die Datei kann nicht gefunden werden, obwohl sie sich definitiv im richtigen Ordner befindet. aber wie Sie sehen können:

Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
H:\netz2\skateprojekt\templates\allsk8s.html (File does not exist)

Das ist ein Teil meiner urls.py

    urlpatterns = patterns('',
         url(r'^admin/', include(admin.site.urls)),
         (r'^skates/

und das ist der Systempfad:

H:\netz2\skateproject\templates

und im templates ordner ist eine datei namens allsk8s.html soweit ich das verstanden habe - das sollte funktionieren. Ich hoffe wirklich, dass jemand mir helfen kann, denn dies ist das zweite Mal, dass ich auf ein Problem wie dieses gestoßen bin, und ich kann das Problem nicht herausfinden.

danke im voraus danielll

bearbeiten:

Ich habe versucht, dies zu meinen settings.py hinzuzufügen:

import os
DIRNAME = os.path.abspath(os.path.dirname(__file__))

und änderte meine TEMPLATE_DIRS zu:

TEMPLATE_DIRS = (
    os.path.join(DIRNAME, r'H:/netz2/skateprojekt/templates/'),
)

weil ich gelesen habe, würde es helfen - aber es gab immer noch den gleichen Fehler zurück - also habe ich es wieder geändert. ; (

bearbeiten:

Ich habe auch überprüft, wenn ich eine falsche URL eingebe, wirft es diesen Fehler:

Using the URLconf defined in skateproject.urls, Django tried these URL patterns, in this order:
^admin/
^skates/$

Also sollte die Skate-URL da sein - aber ich kann nicht "gelöst" werden - ich verstehe es nicht :(

bearbeiten:

Ich habe heute etwas Neues herausgefunden, das Template-Loader-Postmortem sagt, es prüft auch diese Verzeichnisse:

Using loader django.template.loaders.app_directories.Loader:
C:\Python27\lib\site-packages\django\contrib\auth\templates\allsk8s.html (File does not exist)
C:\Python27\lib\site-packages\django\contrib\admin\templates\allsk8s.html (File does not exist)

Deshalb habe ich meine Vorlagendateien dorthin verschoben und einen neuen Fehler erhalten. Dieser Fehler wurde behoben, indem ich meine HTML-Dateien von ansi nach utf8 und tada konvertierte. Es hat funktioniert. Leider kann ich nicht zulassen, dass die Vorlagendateien in diesem Ordner nicht Teil des Projekts sind. Als ich die Dateien zurück an den ursprünglichen Speicherort verschoben habe, war ich wieder beim alten Fehler :(

, 'sk8.views.AllSk8s'), )

und das ist der Systempfad:

H:\netz2\skateproject\templates

und im templates ordner ist eine datei namens allsk8s.html soweit ich das verstanden habe - das sollte funktionieren. Ich hoffe wirklich, dass jemand mir helfen kann, denn dies ist das zweite Mal, dass ich auf ein Problem wie dieses gestoßen bin, und ich kann das Problem nicht herausfinden.

danke im voraus danielll

bearbeiten:

Ich habe versucht, dies zu meinen settings.py hinzuzufügen:

import os
DIRNAME = os.path.abspath(os.path.dirname(__file__))

und änderte meine TEMPLATE_DIRS zu:

TEMPLATE_DIRS = (
    os.path.join(DIRNAME, r'H:/netz2/skateprojekt/templates/'),
)

weil ich gelesen habe, würde es helfen - aber es gab immer noch den gleichen Fehler zurück - also habe ich es wieder geändert. ; (

bearbeiten:

Ich habe auch überprüft, wenn ich eine falsche URL eingebe, wirft es diesen Fehler:

Using the URLconf defined in skateproject.urls, Django tried these URL patterns, in this order:
^admin/
^skates/$

Also sollte die Skate-URL da sein - aber ich kann nicht "gelöst" werden - ich verstehe es nicht :(

bearbeiten:

Ich habe heute etwas Neues herausgefunden, das Template-Loader-Postmortem sagt, es prüft auch diese Verzeichnisse:

Using loader django.template.loaders.app_directories.Loader:
C:\Python27\lib\site-packages\django\contrib\auth\templates\allsk8s.html (File does not exist)
C:\Python27\lib\site-packages\django\contrib\admin\templates\allsk8s.html (File does not exist)

Deshalb habe ich meine Vorlagendateien dorthin verschoben und einen neuen Fehler erhalten. Dieser Fehler wurde behoben, indem ich meine HTML-Dateien von ansi nach utf8 und tada konvertierte. Es hat funktioniert. Leider kann ich nicht zulassen, dass die Vorlagendateien in diesem Ordner nicht Teil des Projekts sind. Als ich die Dateien zurück an den ursprünglichen Speicherort verschoben habe, war ich wieder beim alten Fehler :(

Antworten auf die Frage(5)

Ihre Antwort auf die Frage