#13525: URL Reverser chokes on nested groups
----------------------------+-----------------------------------------------
 Reporter:  nickretallack   |       Owner:  nobody    
   Status:  new             |   Milestone:            
Component:  Core framework  |     Version:  1.1       
 Keywords:                  |       Stage:  Unreviewed
Has_patch:  0               |  
----------------------------+-----------------------------------------------
 {{{
 ## urls.py
 from django.conf.urls.defaults import *
 from django.http import HttpResponse

 urlpatterns = patterns('',
     url(r'^export1\.(?P<format>\w+)$', lambda request:
 HttpResponse("THIS"), name='this'),
     url(r'^export2(\.(?P<format>\w+))?$', lambda request:
 HttpResponse("THAT"), name='that'),
 )

 ## paste into python manage.py shell

 from django.core.urlresolvers import reverse, resolve

 # Both urls resolve
 resolve('/export1.json')[0](None).content
 resolve('/export2.json')[0](None).content

 # These reverse
 reverse('this', args=['json'])
 reverse('this', kwargs={'format':'json'})

 # These don't
 reverse('that', args=['json'])
 reverse('that', kwargs={'format':'json'})

 ## Shell session output

 >>> from django.core.urlresolvers import reverse, resolve
 >>>
 >>> # Both urls resolve
 >>> resolve('/export1.json')[0](None).content
 'THIS'
 >>> resolve('/export2.json')[0](None).content
 'THAT'
 >>>
 >>> # These reverse
 >>> reverse('this', args=['json'])
 '/export1.json'
 >>> reverse('this', kwargs={'format':'json'})
 '/export1.json'
 >>>
 >>> # These don't
 >>> reverse('that', args=['json'])
 Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "/usr/local/Cellar/python/2.6.4/lib/python2.6/site-
 packages/django/core/urlresolvers.py", line 350, in reverse
     *args, **kwargs)))
   File "/usr/local/Cellar/python/2.6.4/lib/python2.6/site-
 packages/django/core/urlresolvers.py", line 300, in reverse
     "arguments '%s' not found." % (lookup_view_s, args, kwargs))
 NoReverseMatch: Reverse for 'that' with arguments '('json',)' and keyword
 arguments '{}' not found.
 }}}

-- 
Ticket URL: <http://code.djangoproject.com/ticket/13525>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to