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

Django报错TemplateDoesNotExist: customer/base.html问题求助

报错原因及对应解决方法

1. customer应用未在项目配置中注册

Django默认只会扫描INSTALLED_APPS列表内注册的应用下的模板文件,未注册应用的模板不会被识别。
解决方法:打开项目根目录下Web_project/settings.py,找到INSTALLED_APPS配置项,添加customer应用:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 新增以下行
    'customer',
]

2. 模板目录结构错误

应用下的模板需要按固定层级存放,否则无法通过应用名/模板名的路径匹配到。
解决方法:核对customer应用的目录结构,确保符合以下格式:

customer/
├── __init__.py
├── urls.py
├── views.py
└── templates/          # 第一层templates目录
    └── customer/       # 第二层和应用同名的目录,不可省略
        ├── base.html
        ├── Hall.html
        ├── Food_item.html
        └── About_us.html

3. 模板扫描配置未开启

Django需要开启应用模板扫描开关才会检索各应用下的templates目录。
解决方法:打开Web_project/settings.py,找到TEMPLATES配置项,确认APP_DIRS的值为True:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True, # 确保此处为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',
            ],
        },
    },
]

4. 模板文件名大小写不匹配

Linux、macOS等系统对文件名大小写敏感,若模板文件实际命名和视图中引用的大小写不一致也会触发报错。
解决方法:核对base.html文件名的大小写,和视图render方法中填写的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:15:04