Opened 11 years ago

Closed 11 years ago

Last modified 9 years ago

#13052 closed (duplicate)

reverse() does not resolve correctly using namespaces in some cases

Reported by: trey@… Owned by: Florian Apolloner
Component: Uncategorized Version: master
Severity: Keywords:
Cc: Florian Apolloner Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


When reversing a set of included urls with a url prefix which contains a parameter, the resolver will treat the url chunk before the include as a prefix and not process it.

from django.conf.urls.defaults import *

app1 = (patterns('',
    url(r'^edit/(?P<object_id>\d+)/$', 'view', name='view'),
    url(r'^list/$', 'view', name='list'),
), 'myapp', 'theinstance1')

app2 = (patterns('',
    url(r'^edit/(?P<object_id>\d+)/$', 'view', name='view'),
    url(r'^list/$', 'view', name='list'),
), 'myapp', 'theinstance2')

urlpatterns = patterns('views',
    url(r'^site/$', 'view', name='view'),
    url(r'^site/(?P<site_id>\d+)/pages/', include(app1)),
    url(r'^site/', include(app2)),

>>> from django.core.urlresolvers import reverse
>>> reverse('view')
>>> reverse('view', current_app='theinstance1')
>>> reverse('myapp:view', current_app='theinstance1')
>>> reverse('myapp:list', current_app='theinstance1')

Change History (3)

comment:1 Changed 11 years ago by Florian Apolloner

Cc: Florian Apolloner added
Owner: changed from nobody to Florian Apolloner
Status: newassigned

The problem starts here: The extra part is just added to prefix, but it can contain parts which need to be reversed.

comment:2 Changed 11 years ago by Russell Keith-Magee

Resolution: duplicate
Status: assignedclosed

Duplicate of #11559

comment:3 Changed 9 years ago by Jacob

milestone: 1.2

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top