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

Django汽车经销商应用car_detail路由NoReverseMatch报错求助

报错原因

你的car_detail路由配置要求同时传递id和slug两个参数,但Model中get_absolute_url方法反向解析时仅传入了slug一个参数,参数数量不匹配导致解析失败。

解决方案

方案1:最小改动(保留现有路由、视图逻辑)

仅修改Models.py中的get_absolute_url方法,补全缺失的id参数即可:

def get_absolute_url(self):
    return reverse('car_detail', kwargs={'id': self.id, 'slug': self.slug})

方案2:简化URL(适合SEO优化场景)

如果不需要id出现在URL中,可以调整代码仅用slug作为唯一查询条件:

  1. 修改urls.py路由配置,删除id参数:
path('<slug:slug>', views.car_detail, name="car_detail"),
  1. 修改views.py中的car_detail视图逻辑,用slug查询车辆数据:
def car_detail(request, slug):
    car = get_object_or_404(Car, slug=slug)
    images = CarImage.objects.filter(car=car)
    context = {'car': car, 'images': images}
    return render(request, 'car_detail.html', context)

两种方案任选其一即可解决问题。


内容的提问来源于stack exchange,提问作者nick.cmn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:18:01