我正在学习 pyhton django,我在
nosotros.html
中创建了一个文件 templates/paginas
:
在
views.py
我有:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def inicio(request):
return HttpResponse("<h1> Bienvenido </h1>")
def nosotros(request):
return render(request, "paginas/nosotros.html")
def libros(request):
return render(request, "libros/index.html")
在我的
urls.py
上我有:
from django.urls import path
from . import views
urlpatterns = [
path('', views.inicio, name="inicio"),
path('nosotros', views.nosotros, name="nosotros"),
path('libros', views.libros, name="libros"),
]
所以如果我尝试去
http://127.0.0.1:8000/nosotros
或 http://127.0.0.1:8000/libros
我得到 TemplateDoesNotExist at /libros
或 TemplateDoesNotExist at /nosotros
怎么了???或者我做错了什么?
setting.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]
这个文件
setting.py
位于CRUDMySQL上,目前我从未编写或更新过,所以它完好无损
您需要在
DIRS
列表中包含模板目录的路径:
LIBRERIA_DIR = BASE_DIR / 'libreria'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ LIBRERIA_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',
],
},
},
]