为了账号安全,请及时绑定邮箱和手机立即绑定

NoReverseMatch 在 /basketball/ Reverse for 'detail'

NoReverseMatch 在 /basketball/ Reverse for 'detail'

三国纷争 2022-12-14 20:38:28
我有一个 Django 应用程序,用户可以在其中使用 Basketball 模型创建一个 Basketball 对象并将其发布到作为 ListView 子类的提要。然后,我希望其他用户能够通过单击该对象的超链接来访问该帖子的详细信息。问题是,当我将详细信息页面的 url 设置为包含变量“slug”作为对象 slug 时,它会用 basketball/urls.py 中看到的 url 路由“”覆盖我的列表页面,而不是路由到列表页面它说找不到带有空 slug 的页面。这不允许我访问 url“ http://127.0.0.1:8000/basketball/ ”我的印象是 Django 按顺序搜索 url 路由,因此由于空白路径是第一条路由,因此应该在包含 slug 的路由之前看到它。请注意,直接导致问题的代码片段位于 basketball_list.html 中:<a href= "{% url 'basketball:detail' basketball.slug %}">删除此代码后,我可以访问“ http://127.0.0.1:8000/basketball/ ”,但超链接不存在,因此无法达到目的。请注意,我使用的是:Python == 3.8.3 Django == 3.0.6
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

您的网址与 basketball_list 循环变量 (x) 不匹配。这个


{% for x in basketball_list %}

  <li><a href= "{% url 'basketball:detail' basketball.slug %}">{{ x }}</a></li>

{% endfor %}

应该


{% for x in basketball_list %}

  <li><a href= "{% url 'basketball:detail' x.slug %}">{{ x }}</a></li>

{% endfor %}


查看完整回答
反对 回复 2022-12-14
  • 1 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信