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

Django项目404错误与AttributeError异常排查求助

问题原因排查

1. 初始空路径404错误原因

最初你的应用urls.py中仅配置了index.html、experience.html这类带后缀的路由,未为空路径''配置对应的路由规则,访问根路径http://127.0.0.1:8000/时,Django无法在URLconf中匹配到对应规则,因此抛出404错误。

2. 新增空路由后'tuple'对象没有get属性错误原因

你原有views.py中每个视图函数的return语句末尾都多了一个逗号:

def index(request):
    return render(request, 'index.html', {}),

Python中表达式末尾加逗号会自动将返回值包装为元组,而Django要求视图函数必须返回HttpResponse对象,你实际返回的是(HttpResponse对象, )格式的元组,中间件处理响应时需要调用响应对象的get方法读取头信息,元组没有该方法,因此抛出AttributeError。
你给出的临时修复代码刚好删除了return后的多余逗号和无意义的空字典参数,因此对应页面恢复正常。

完整解决方案
  • 修正所有视图函数的返回值,删除return语句末尾的多余逗号,也可以省略render第三个参数的空字典(render的上下文参数默认为空,可直接省略),修正后的完整views.py如下:
from django.shortcuts import render

def index(request):
    return render(request, 'index.html')

def experience(request):
    return render(request, 'experience.html')

def projects(request):
    return render(request, 'projects.html')

def research(request):
    return render(request, 'research.html')

def education(request):
    return render(request, 'education.html')

def comeback(request):
    return render(request, '404.html')

def design(request):
    return render(request, 'design.html')
  • 在应用urls.py中补充空路径的路由配置,绑定到对应的index视图即可,修正后的完整应用urls.py如下:
from django.urls import path
from . import views

urlpatterns = [
    # 补充空路径路由
    path('', views.index, name="index"),
    path('index.html', views.index, name="index"),
    path('experience.html', views.experience, name="experience"),
    path('projects.html', views.projects, name="projects"),
    path('research.html', views.research, name="research"),
    path('education.html', views.education, name="education"),
    path('404.html', views.comeback, name="comeback"),
    path('design.html', views.design, name="design"),
]
  • 可选优化:如果不需要URL携带.html后缀,可以直接删除路由中的.html标识,例如改为path('experience/', views.experience, name="experience"),访问时使用http://127.0.0.1:8000/experience/ 即可,符合Django常规设计规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:57:02