Django访问editpage视图报NoReverseMatch错误,表单无法正常显示
问题原因
报错是因为模板渲染{% url 'editpage' topic=topic %}时,用到的topic变量没有被传入模板上下文,导致topic取值为空,匹配不上路由要求的非空str:topic参数。
修复步骤
- 修改
views.py中的editpage视图函数,在渲染模板时将路径获取到的topic参数传入上下文:
def editpage(request, topic): return render(request, "encyclopedia/editpage.html", { "form": EditPageForm(), "topic": topic # 新增该行,把topic参数传递给模板 })
- 补充注意:后续处理表单POST请求的逻辑中,如果涉及路由跳转,也需要对应带上topic参数,避免再次出现同类路由匹配错误。
内容的提问来源于stack exchange,提问作者cjuggler
相关产品推荐
相关产品推荐

