Django : TemplateDoesNotExist at /.../
Ich versuche zu Rendern einer einfachen Seite, aber ich ein problem.
TemplateDoesNotExist at /pages/
{}
Den template-Ordner nicht gefunden. hier ist meine Konfigurationen settings.py
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, 'pages/template')],
'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',
],
},
},
]
Habe ich etwas falsch gemacht ?
--------------- CMD ----------------
Internal Server Error: /pages/
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\django\core\handlers\base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Python34\lib\site-packages\django\core\handlers\base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Python34\Scripts\src\pages\views.py", line 6, in index
return render('index.html', context)
File "C:\Python34\lib\site-packages\django\shortcuts.py", line 67, in render
template_name, context, request=request, using=using)
File "C:\Python34\lib\site-packages\django\template\loader.py", line 96, in render_to_string
template = get_template(template_name, using=using)
File "C:\Python34\lib\site-packages\django\template\loader.py", line 43, in get_template
raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: {}
[12/Jan/2016 20:51:57] "GET /pages/HTTP/1.1" 500 74646
----------- UPDATE -------------
Datei Baum
views.py
from django.shortcuts import render
# Create your views here.
def index(request):
context = {}
return render(request, 'index.html', context)
- bitte posten Sie Ihre Projekt-Verzeichnis-Struktur.
- Aktualisiert
- bewegen Sie Ihren template-Ordner außerhalb von "Seiten", und nennen Sie es "Vorlagen". Legen Sie Ihre Einstellungen:
TEMPLATE_DIRS=(os.path.join(BASE_DIR, 'templates'),)
. Jetzt, in Ihrem views.py rufen Sie die Vorlage mitrender('index.html', context)
- Umbenannt in Vorlage zu Vorlagen, zog es Sie in das src-Unterordner Einstellungen geändert, aber noch immer kam die gleiche Fehlermeldung. (Ich aktualisiert views.py Datei, nur für den Fall)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie vergessen haben, das erste argument
request
beim Aufrufrender
.Können Sie mehrere template-Verzeichnissen, z.B.
src/template
undpages/template
. Wenn Sie möchten, um einesrc/template
Verzeichnis, dann müssen Sie es in IhremDIRS
option".Brauchen Sie nicht
pages/templates
imDIRS
Verzeichnis -- templates in diesem Verzeichnis werden gefunden durch die app loader, weil SieAPP_DIRS
eingestelltTrue
, undpages
ist in IhremINSTALLED_APPS
Einstellung.Hast du wahrscheinlich vergessen, um Ihre app in Installed_Apps Einstellung.
INSTALLED_APPS = [
...
]
Haben Sie die falsche route Ihrer Vorlagen.
Standardmäßig django haben Sie den Ordner "template" für html-Dateien, versuchen Sie, erstellen Sie einen Ordner namens Vorlage in Ihrem app-Ordner und darin die Datei index.html
Hatte ich diesen Fehler:
wenn ich verwendet, um eine virtuelle Umgebung über PyCharm, da es nicht installieren Sie alle erforderlichen Werkzeuge für die Vorlagen geladen werden, die aus Ihrem Vorlagen-Ordner.
Ich nun meine virtuelle Umgebungen durch die Eingabeaufforderung, und installieren Django und alles, was ich brauche mit pip installieren "etwas".
Hinweis:
Ich weiß, dass dies nicht die Frage beantworten, aber das ist, was ich falsch gemacht habe. Ich stolperte über diese Frage, so könnten andere, die hatte den gleichen Fehler.