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

Django访问根路径报错TemplateDoesNotExist找不到模板文件问题求助

错误原因
  • 模板路径前缀冗余
    Django 的 render 方法会自动扫描配置中指定的模板目录,不需要在路径前手动添加templates/前缀。你视图中写的templates/Home/Home_page.html会被解析为在模板目录下额外寻找templates子目录,无法匹配到实际文件。
  • 路径大小写/文件名不匹配
    报错提示查找的是home/hom_page.html,但你视图中写的是Home/Home_page.html,目录大小写、文件名拼写都存在不一致的情况。Linux、macOS 等系统对路径大小写严格敏感,即使是Windows环境也建议统一使用小写命名避免部署问题。
  • 模板目录未正确注册
    如果你的settings.py中TEMPLATES配置的DIRS字段没有包含项目下的templates目录,Django无法找到对应模板位置,正确配置参考如下:
import os
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # 高版本Django也可以写 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',
            ],
        },
    },
]
  • (若模板存放在App目录下)App未注册
    如果你是把templates目录放在单个App的目录下,需要先把该App添加到settings.py的INSTALLED_APPS列表中,且保证TEMPLATES配置中APP_DIRS的值为True。
解决步骤
  1. 修改视图函数的模板路径,去掉templates/前缀,保证路径和实际文件完全一致,示例如下:
def home(request):
    # 请根据实际的目录名、文件名调整下面的路径,确保大小写、拼写完全匹配
    return render(request, 'Home/Home_page.html')
  1. 统一模板目录、文件的命名规范,建议全部使用小写,避免大小写敏感导致的兼容问题。
  2. 检查settings.py中的TEMPLATES配置,确认模板目录已经正确注册。
  3. 如果使用App下的templates目录,确认App已经添加到INSTALLED_APPS列表。

内容的提问来源于stack exchange,提问作者Developer Lachi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:06:00