Django页面访问报错:/blog/路径显示页面未找到,求原因排查
Django新手访问/blog/页面404问题
我是Django新手,正在学习该Python框架。已创建名为Virtual_Django_Project的虚拟环境并安装Django,创建了Django_project文件夹并添加blog应用。访问/blog/时出现**页面未找到(404)**错误。
相关代码
blog/views.py
from django.shortcuts import render from django.http import HttpResponse def home(request): return HttpResponse('Home')
blog/urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.home, name ='blog-home'), ]
主项目Django_Project/urls.py
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('',include('blog.urls')), ]
问题原因及解决方法
问题出在主项目的URL配置:
- 你当前把blog的URL挂载到了根路径
''下,所以blog.urls里的空路径对应的是网站根目录/,而非/blog/。访问/blog/时,Django找不到匹配的路由规则,因此返回404错误。
解决步骤:
- 修改主项目
Django_Project/urls.py,给blog路由添加blog/前缀:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('blog/',include('blog.urls')), # 添加blog前缀 ]
- 重启Django开发服务器,再次访问
/blog/即可正常显示Home内容。
额外验证建议:
确认blog应用已在settings.py的INSTALLED_APPS中注册,避免额外问题:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # 确保该行存在 ]
内容的提问来源于stack exchange,提问作者Abhishek Kumar
相关产品推荐
相关产品推荐

