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

Django本地部署遇TemplateDoesNotExist错误,请求排查解决

解决Django TemplateDoesNotExist错误

问题根源

你的配置核心问题是应用未注册,附带路径配置的潜在问题:

  1. FortyTwop应用未添加到settings.py的INSTALLED_APPS列表中,导致Django的APP_DIRS=True无法扫描到该应用下的templates目录。
  2. 若你原本计划使用项目根目录的templates,当前TEMPLATES中DIRS的相对路径可能存在解析歧义,建议改用绝对路径。

解决方案

方案一:保留app内的templates结构(推荐)

  1. 打开settings.py,找到INSTALLED_APPS列表,添加你的应用:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 新增该行注册应用
    'FortyTwop',
]
  1. 保存后重启开发服务器,Django会自动识别FortyTwop/templates目录,views.py中的render(request, 'index.html')可正常加载模板。

方案二:改用项目根目录的templates

  1. 在项目根目录(与manage.py同级)创建templates文件夹,将index.html移入其中。
  2. 修改settings.py的TEMPLATES配置,使用基于BASE_DIR的绝对路径:
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 替换为绝对路径
        'DIRS': [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',
            ],
        },
    },
]
  1. 重启服务器后即可正常访问页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:01:17