Django调用{% url 'dome_view' id %}报无参数反转错误如何解决
问题原因
- URL配置书写存在错误隐患:Django路径转换器需要用尖括号包裹,若你实际配置中没有给
int:id加<>包裹,会导致路径参数解析规则异常。 - 核心问题:GET请求渲染模板时,没有将路径携带的
id参数传入模板上下文,模板渲染时读取不到id变量,因此反向解析URL时会提示缺少参数。
修复步骤
- 先确认urls.py中的路径配置格式正确,修正为标准写法:
path('dome2/<int:id>/', views.dome_view, name='dome_view')
- 修改视图的GET分支逻辑,将
id参数加入模板上下文:
将原有返回渲染的代码
return render(request, 'my_forms/dome2.html', {'contactform':form})
修改为
return render(request, 'my_forms/dome2.html', {'contactform':form, 'id': id})
完成以上两步修改后,模板中的form action="{% url 'dome_view' id %}"写法即可正常运行,不需要手动写死具体id值。
内容的提问来源于stack exchange,提问作者Murat Bilal
相关产品推荐
相关产品推荐

