[英]Django urls can't find templates with HTML file
我正在嘗試在我的 Django ToDo 應用程序中創建視圖。 但是有一個 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')
您有兩個選擇: 目錄結構 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',
],
},
},
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.