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
相关产品推荐
相关产品推荐

