You need to enable JavaScript to run this app. Django模板调用url标签跳转用户详情页出现404错误求助
优惠活动
大模型
产品
解决方案
定价
更多

Django模板调用url标签跳转用户详情页出现404错误求助

错误原因定位

    1. 首页模板的Django URL模板标签语法错误:你写的{ % url 'detail' user % }中,{和%之间多了空格,导致Django没有把这段识别为模板标签,直接把字符串原样输出到了href属性里,所以请求路径才会变成{ % url 'detail' user % }的编码格式,匹配不到路由。
    1. URL参数传递不匹配:你的应用路由中定义的接收参数是user_id,视图里是根据用户id(整数类型)查询用户,你直接传递user对象的话,默认会调用__str__方法返回用户姓名,而不是用户id,会导致查询失败。另外路由里定义的参数类型是str,但id是整数,类型不匹配。

修复步骤

第一步:修改首页模板代码

把链接的href部分修改为:

<a href="{% url 'detail' user.id %}">

注意去掉{和%之间的空格,同时把参数改为user.id传递用户id

第二步:修改应用URL配置

把user_detail路由的参数类型从str改为int,匹配用户id的整数类型:

path('user_detail/<int:user_id>', views.userdetail, name='detail'),

可选优化:视图添加404捕获

避免用户输入不存在的id时直接抛出异常:

from django.shortcuts import get_object_or_404

def userdetail(request,user_id):
    user = get_object_or_404(User, id=user_id)
    return render(request, 'user_detail.html', {'user': user})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 13:45:08