我正在尝试在Django ToDo App中创建视图。但是有一个TemplateDoesNotExist错误。我一直在寻找解决方法,但仍然无法正常工作。
这是我在主文件夹中的urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('todoapp_api.urls')),
]
然后我的应用程序文件夹为“ todoapp_api” 还有我的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.app, name='app'),
]
我的views.py看起来像这样
from django.shortcuts import render
from django.http import HttpResponse
def app(request):
return render(request, 'todoapp_api/app.html')
答案 0 :(得分:0)
您有两个选择: 目录结构1: todoapp_ap / templates / todoapp_api / app.html
或遵循目录结构2: 1.在您的根目录中创建一个全局模板文件夹。 2.在其中创建todoapp_api文件夹,然后放置所需的所有模板文件。
在您的settings.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',
],
},
},
]
通过这个:
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',
],
},
},
]