django url名称查找

时间:2012-02-13 05:53:44

标签: python django url-routing

我有三个url模式匹配到相同的网址名称

url(r'^report/newreport/(?P<number>\w+)/$', 'report.views.newreport',name='report_newreport'),  
url(r'^report/newreport/(?P<number>\w+)/(?P<edit>\w+)/$', 'report.views.newreport',name='report_newreport'),        
url(r'^report/newreport/$', 'report.views.newreport',name='report_newreport'),

当我尝试使用'url'来获取这样的完整网址时

<td><a href='{% url report_newreport report.applicationnumber %} ' target='_blank' >{{task.applicationnumber}}</a> <br/>

我收到了错误

Caught NoReverseMatch while rendering: Reverse for 'report_newreport' with arguments '('',)' and keyword arguments '{}' not found.

是因为我将三个网址与一个网址名称相匹配?我认为通过将这三种模式与三种不同的URL名称相匹配来解决这个问题。这是我可以解决此错误的其他方式

由于

1 个答案:

答案 0 :(得分:1)

我认为问题在于report.applicationnumber没有生成值:错误消息中的with arguments '('',)'表示report.applicationnumber的值为空,在这种情况下url 1}}标记尝试匹配URL列表中不存在的网址格式^report/newreport//$