You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Web应用出现TemplateDoesNotExist错误,请求协助修复

Django TemplateDoesNotExist 错误修复

错误详情

Internal Server Error: /
Traceback (most recent call last):
File "D:\New folder\env\Lib\site-packages\django\core\handlers\exception.py", line 55, in inner
   response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\core\handlers\base.py", line 197, in      _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\core\home\views.py", line 10, in home
    return HttpResponse(render(request, 'index.html'))
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\shortcuts.py", line 24, in render
    content = loader.render_to_string(template_name, context, request, using=using)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\template\loader.py", line 61, in render_to_string
    template = get_template(template_name, using=using)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\New folder\env\Lib\site-packages\django\template\loader.py", line 19, in get_template
    raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: index.html'

当前配置信息

模板路径

D:\New folder\core\home\template\index.html

settings.py 配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

EXTERNAL_APPS = [
    'home',
]

INSTALLED_APPS += EXTERNAL_APPS

views.py 代码

from django.shortcuts import render
from django.http import HttpResponse


def home(request):
    return render(request, 'index.html'))

def success_page(request):
    print("* "*10)
    return HttpResponse("""<h1>Page has Been created successfully</h1>
                        </br>
                        <hr>
                        <p1> Hello world</p1>""")

urls.py 配置

from django.contrib import admin
from django.urls import path
from home.views impor

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home, name="home"),
    path('Success-page',success_page,name ="success_page")
]

修复步骤

1. 修正模板文件夹名称

Django 默认会查找应用目录下的 templates 文件夹(复数形式),当前文件夹为template(单数),需重命名为templates,修改后路径:
D:\New folder\core\home\templates\index.html

2. 修复 views.py 语法错误

home视图存在多余右括号,且render本身已返回HttpResponse,无需额外包裹,修改后代码:

def home(request):
    return render(request, 'index.html')

3. 修复 urls.py 导入错误

导入语句拼写错误,且需明确导入视图函数,修改后:

from django.contrib import admin
from django.urls import path
from home.views import home, success_page

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home, name="home"),
    path('Success-page', success_page, name="success_page")
]

4. 确认模板查找配置(可选)

若问题仍存在,检查settings.py中TEMPLATES配置,确保APP_DIRS为True,允许Django在应用的templates文件夹查找模板:

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',
            ],
        },
    },
]

完成以上修改后,重启Django服务即可解决模板不存在的问题。

内容的提问来源于stack exchange,提问作者Vaibhav Kulkarni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 03:57:49