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

Django新手求助:TemplateDoesNotExist报错,模板无法找到

解决Django「TemplateDoesNotExist」报错的方案

1. 核对templates文件夹位置

确保templates文件夹与manage.py处于同一层级(项目根目录),而非嵌套在app目录或其他子目录中。

2. 替换TEMPLATES的DIRS为绝对路径

在settings.py中,将DIRS配置改为基于项目根目录的绝对路径,避免相对路径引发的定位问题:

import os

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

BASE_DIR是Django默认定义的项目根目录变量,用它拼接路径能保证定位准确。

3. 检查INSTALLED_APPS(若模板在app内)

如果templates文件夹属于某个app(例如your_app/templates),需确认该app已添加到settings.py的INSTALLED_APPS列表:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'your_app_name',  # 替换为你的实际app名称
]

4. 重启开发服务器

修改配置后,关闭当前运行的Django服务器,重新执行python manage.py runserver加载新配置。

5. 再次验证模板文件

确认templates文件夹内确实存在main.html,且文件名大小写完全匹配(区分大小写的系统中,Main.html与main.html会被视为不同文件)。


内容的提问来源于stack exchange,提问作者Harshali Deshmukh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:13:14