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

Django本地服务器提示Template Not Found,模板加载失败求助

Django模板无法正常运行问题排查

1. 检查应用是否注册到项目

打开项目根目录的settings.py,确认INSTALLED_APPS里添加了'Pages'。没加的话Django找不到这个应用的模板,补上这行再保存:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Pages',  # 必须包含这一行
]

2. 匹配模板路径和视图调用

按Django规范,应用内模板建议放在Pages/templates/Pages/index.html(避免不同应用模板重名冲突)。此时views.py里的render调用要写全模板路径:

from django.shortcuts import render

def index(request):
    return render(request, 'Pages/index.html')  # 需加上应用名前缀

如果你的模板直接放在Pages/templates/index.html,要么改成上述规范结构,要么在settings.py的TEMPLATES['DIRS']中添加BASE_DIR / 'Pages/templates'。

3. 确认模板引擎配置

打开settings.py的TEMPLATES配置,确保APP_DIRS设为True,这样Django才会自动搜索每个已注册应用下的templates目录:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
]

4. 检查路由配置是否正确

  • 项目根目录的urls.py要将路由指向Pages应用:
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('Pages.urls')),  # 根路径交给Pages应用处理
]
  • Pages应用的urls.py要将视图与路径绑定:
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),  # 根路径对应index视图
]

5. 重启服务生效

修改配置后,关闭当前的runserver进程,重新执行python manage.py runserver,避免缓存导致配置不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 02:32:37