如何解决 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] 中有模板文件夹=] 目录.