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

Django 2.0模板移除硬编码URL失效,请求协助排查问题

解决Django模板中URL反向解析失败的问题

嘿,我帮你找出了几个导致错误的关键问题,咱们一步步来修正:

1. URL路由名称拼写错误

你的urls.py里,detail视图对应的路由名称写错了——把detail拼成了datail!这会让Django的{% url %}标签找不到对应的路由,直接报错。

修正后的urls.py中对应的路由行:

path('<int:question_id>/', views.detail, name='detail'),  # 把name='datail'改成name='detail'

2. 模板中变量传递错误

在index.html的循环里,你写的是{% url 'detail' question_id %},但当前循环的变量是question,并没有question_id这个变量,应该传递question.id才对。另外,因为你设置了app_name = 'polls',建议加上命名空间(polls:),这样能避免不同app的路由名称冲突,更规范。

修正后的index.html中的链接行:

<li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>

3. 之前尝试的模板变量名错误

你提到曾改成{% url 'detail' poll.id %},但模板循环里的对象是question,不是poll,所以变量名应该是question.id而非poll.id,这也是一个容易忽略的小问题。

把这几个地方修正后,模板里的反向解析URL就能正常工作了,本质上就是路由名称拼写错误和模板变量不匹配导致的问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:32:11