Django配置路由后仍显示默认首页而非预期页面问题求助
Django根路径持续显示默认欢迎页问题修复
按以下顺序逐一排查,绝大多数同类问题都是下面几个易忽略的错误导致的:
- 先核对编辑的文件路径是否正确
查看终端执行runserver时打印的项目绝对路径,和你当前打开编辑的urls.py、views.py所在路径逐字比对,很多新手开错了文件夹,改了半天其他练习项目的文件,实际运行的还是最初的项目。 - 核对根路由配置
打开和settings.py同目录下的根urls.py,确认两点:- 已经导入
include方法 - 已经正确添加blog应用的路由引入
正确配置示例:
这里特意说明:Django 4.0及以上版本,只要from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 别漏写这行,常见错误是漏加include、或者把blog路径拼错 path('blog/', include('blog.urls')), ]DEBUG=True且你没有给根路径''绑定任何视图,访问根路径就会显示默认的安装成功页,不会返回404——你参考的教程提到会出404是旧版本逻辑,教程内容未更新,不用因为这个现象判定配置没生效。 - 已经导入
- 核对blog应用下的路由和视图
首先确认blog目录下你手动新建了urls.py文件(创建app时不会自动生成这个文件,很多新手漏建),配置参考:
对应blog目录下的from django.urls import path from . import views urlpatterns = [ # 这里的空路径对应的访问地址就是 /blog/ path('', views.blog_index, name='blog_index'), ]views.py要写好匹配的视图函数,测试阶段先用简单响应排除模板配置干扰:from django.http import HttpResponse def blog_index(request): return HttpResponse("Blog页面访问成功") - 核对应用注册配置
打开settings.py,在INSTALLED_APPS列表里加入blog应用,避免后续加载异常:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 新增这行 'blog.apps.BlogConfig', ] - 重启服务验证
所有配置改完后,在运行服务的终端按Ctrl+C终止进程,重新执行python manage.py runserver启动,直接访问http://localhost:8000/blog,能看到你写的返回内容就说明配置完全正常。
补充:根路径的默认欢迎页不需要特意删除,等你后续给根路径绑定对应视图、或者部署时把DEBUG改成False,这个页面会自动消失。
内容的提问来源于stack exchange,提问作者Maxy
相关产品推荐
相关产品推荐

