有如下一个url配置:
urlpatterns = patterns('', (r'^archive/(d{4})/$', archive), (r'^archive-summary/(d{4})/$', archive, {'summary': True}), )
这个url中,2个不同的url指向了同一个处理函数。这种情况在开发中经常需要,但是直接使用会导致django报错。django提供了一个解决办法:
urlpatterns = patterns('', url(r'^archive/(d{4})/$', archive, name="full-archive"), url(r'^archive-summary/(d{4})/$', archive, {'summary': True}, "arch-summary"), )
在这里,我们将每个url模式进行了命名,为他们指定了单独的名字。
这样,当我们在使用reverse或者url标签的时候就不会出现找不到对应url的情况了。
问题解决,ok!