如何解决 Django 错误消息:TemplateDoesNotExist at
How to Solve Django Error Message : TemplateDoesNotExist at
我正在尝试为 django 3.1.2 的博客做一个项目,但无法 link templates.I 尝试用 **'DIRS': [os.path.join(BASE_DIR, 'templates'),]
修复它** 我找不到逻辑小姐。该模板确实存在,当我查看代码时,查询正确执行。我很茫然。
我的设置
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',
],
},
},
]
我的博客urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('', include('posts.urls')),
path('admin/', admin.site.urls),
]
我的帖子urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
我的帖子views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def home(request):
return render(request,'posts/index.html')
如果您的模板文件夹在您的应用程序目录中
eg:app_name/templates/app_name/.html,那么就不用加了
'DIRS': [os.path.join(BASE_DIR, 'templates'),]'.
因此,如果您的应用程序名称是 my_posts,请在您的应用程序目录中创建一个名为 templates 的文件夹。然后再次在模板目录中创建一个名为 my_posts(与应用程序名称相同)的文件夹,然后在其中创建所有 html 文件。但是请记住,在渲染时 views.py,你必须这样做,'my_posts/index.html'
您只需添加 'DIRS': [os.path.join(BASE_DIR, 'templates'),]' ,如果您的 [=21] 中有模板文件夹=] 目录.
我正在尝试为 django 3.1.2 的博客做一个项目,但无法 link templates.I 尝试用 **'DIRS': [os.path.join(BASE_DIR, 'templates'),]
修复它** 我找不到逻辑小姐。该模板确实存在,当我查看代码时,查询正确执行。我很茫然。
我的设置
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',
],
},
},
]
我的博客urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('', include('posts.urls')),
path('admin/', admin.site.urls),
]
我的帖子urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
我的帖子views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def home(request):
return render(request,'posts/index.html')
如果您的模板文件夹在您的应用程序目录中 eg:app_name/templates/app_name/.html,那么就不用加了 'DIRS': [os.path.join(BASE_DIR, 'templates'),]'.
因此,如果您的应用程序名称是 my_posts,请在您的应用程序目录中创建一个名为 templates 的文件夹。然后再次在模板目录中创建一个名为 my_posts(与应用程序名称相同)的文件夹,然后在其中创建所有 html 文件。但是请记住,在渲染时 views.py,你必须这样做,'my_posts/index.html'
您只需添加 'DIRS': [os.path.join(BASE_DIR, 'templates'),]' ,如果您的 [=21] 中有模板文件夹=] 目录.