为何Django项目首页无法加载?按教程操作仍失效
Django首页模板无法加载,仅显示默认页面问题排查
问题描述
搭建Django项目后,首页始终加载Django默认页面,而非自定义的index.html,已完全按照教程步骤操作但问题依旧。
当前配置代码
views.py
def index(request): return render(request, 'students/index.html')
settings.py 中INSTALLED_APPS配置
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'students', ]
主urls.py
from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('students.urls')), ]
students应用的urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
index.html(原错误结构)
<!DOCTYPE html> <html lang="en"> <head> <title>Student management </title> <body> <h1>Hello world!</h1> </body> </head> </html>
解决步骤
- 修复HTML语法错误
原index.html中<body>标签错误嵌套在<head>标签内,这会导致浏览器解析异常,修正为标准结构:
<!DOCTYPE html> <html lang="en"> <head> <title>Student management </title> </head> <body> <h1>Hello world!</h1> </body> </html>
- 修正主urls.py的导入缺失
主urls.py中使用了admin.site.urls但未导入admin模块,添加导入语句:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('students.urls')), ]
该缺失会导致URL配置加载失败,直接触发Django默认页面。
- 验证模板文件路径
确保模板文件路径为students/templates/students/index.html,即:
- 在
students应用目录下创建templates文件夹 - 在
templates内创建与应用同名的students文件夹 - 将
index.html放入该文件夹中
Django默认会在每个已注册app的templates/[app名]/路径下查找模板,路径不匹配会导致无法加载自定义模板。
- 重启服务并强制刷新页面
- 重启Django开发服务器(
python manage.py runserver),确保配置修改生效 - 打开浏览器按
Ctrl+F5强制刷新,避免缓存旧页面
内容的提问来源于stack exchange,提问作者Micolash host of the nightmare
相关产品推荐
相关产品推荐

