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

Django项目出现TemplateDoesNotExist at /错误,求排查问题原因

解决Django "TemplateDoesNotExist at /" 错误

问题根源

你的代码存在两处关键问题:

  1. BASE_DIR路径错误:当前settings.py中BASE_DIR指向的是包含settings.py的子目录,而非项目根目录,导致TEMPLATES_DIR计算的路径不正确。
  2. 未在TEMPLATES配置中添加模板目录:仅定义了TEMPLATES_DIR,但未告知Django要搜索这个目录下的模板文件。

具体修复步骤

1. 修正BASE_DIR路径

打开settings.py,将BASE_DIR修改为:

BASE_DIR = Path(__file__).resolve().parent.parent

这个路径会指向项目的根目录(即包含manage.py的目录)。

2. 配置TEMPLATES搜索目录

在settings.py中找到默认生成的TEMPLATES配置块,将DIRS字段修改为包含你定义的TEMPLATES_DIR:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATES_DIR],  # 加入自定义模板目录
        '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',
            ],
        },
    },
]

3. 确认目录结构正确性

确保你的项目目录结构如下(templates目录与manage.py同级):

你的项目名/
├── 你的项目名/
│   ├── settings.py
│   ├── urls.py
│   └── views.py
├── templates/
│   └── index.html
└── manage.py

4. 检查文件名与大小写

确认index.html文件名拼写正确,Linux/macOS系统需注意大小写匹配(比如不要写成Index.html)。

完成以上修改后,重启runserver即可正常加载模板。

内容的提问来源于stack exchange,提问作者ashraf sadik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:10:35