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
相关产品推荐
相关产品推荐

