Django NoReverseMatch报错:手动URL有效模板调用失败
Django NoReverseMatch 错误排查方案
修正URL名称匹配问题
你模板中使用的{% url 'quizes' quiz_type.id %}里的名称是视图函数名,但Django反向解析URL是依据urls.py中path配置的name属性,而非视图函数名。你的urls.py里该路径的name是ShortedQuizTypes,所以模板里要改成:href="{% url 'ShortedQuizTypes' quiz_type.id %}"检查URL命名空间(若有)
如果这个urls.py是通过根urls.py的include导入的,且指定了namespace参数(比如path('app/', include('your_app.urls', namespace='app_ns'))),那么模板里必须加上命名空间前缀:href="{% url 'app_ns:ShortedQuizTypes' quiz_type.id %}"确认模板中参数有效性
手动打印{{ quiz_type.id }}确认该值是有效的整数,避免因quiz_type为None或id非数字导致反向解析失败。验证URL配置的加载状态
确保该path配置没有被注释、不在条件判断分支中导致未加载。可以运行python manage.py showurls(需安装django-extensions)查看所有已注册的URL及其name,确认ShortedQuizTypes对应的路径存在。
内容的提问来源于stack exchange,提问作者Nikhil
相关产品推荐
相关产品推荐

