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

Django项目新增workorders应用出现TemplateDoesNotExist错误排查

排查settings.py中导致TemplateDoesNotExist的配置遗漏点

针对你的场景,从settings.py配置角度,重点检查以下几项:

1. 确认INSTALLED_APPS正确注册workorders

检查settings.py里的INSTALLED_APPS列表,确保'workorders'已添加(通常放在内置应用之后):

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 自定义应用
    'assetlist',
    'workorders',  # 必须存在这一行
]

2. 检查TEMPLATES的APP_DIRS是否为True

Django默认会搜索INSTALLED_APPS内各应用的templates目录,但需确保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',
            ],
        },
    },
]

3. 验证模板加载器配置(进阶排查)

若自定义了TEMPLATES的loaders选项,必须包含django.template.loaders.app_directories.Loader,否则会禁用应用内模板搜索:

'OPTIONS': {
    'loaders': [
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',  # 必须保留这一行
    ],
    # ...其他上下文处理器配置
}

补充:模板路径结构验证(非settings配置但强相关)

虽然不属于settings配置,但需确保你的tenant_list.html放在workorders/templates/workorders/目录下(应用内templates目录下需再建一个与应用同名的子目录),通用视图默认会查找应用名/模板名.html的路径,直接放在workorders/templates/下会导致Django找不到。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:34:56