{{{
blog_patterns = [
url(r'^comments-one/', include('comments.urls', 'comments-one',
'comments')),
url(r'^comments-two/', include('comments.urls', 'comments-two',
'comments')),
]
urlpatterns = [
url(r'^blog-one/', include(blog_patterns, 'blog-one', 'blog')),
url(r'^blog-two/', include(blog_patterns, 'blog-two', 'blog')),
]
}}}
To reverse urls for `blog-one:comments-one`, without hard-coding the
instance namespace in `viewname`, you might assume this would work:
{{{
reverse('blog:comments:view_name', current_app='blog-one:comments-one')
}}}
However, `'blog-one:comments-one'` doesn't compare equal to either
`'blog-one'` or `'comments-one'`, so it will use the default namespace for
each namespace nesting level instead, and return `/blog-two/comments-
two/...`.
This also means that this example in the docs won't work for nested
namespaces:
{{{
def render_to_response(self, context, **response_kwargs):
self.request.current_app = self.request.resolver_match.namespace
return super(DetailView, self).render_to_response(context,
**response_kwargs)
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/24904>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* owner: nobody => knbk
* needs_better_patch: => 0
* status: new => assigned
* needs_tests: => 0
* needs_docs: => 0
--
Ticket URL: <https://code.djangoproject.com/ticket/24904#comment:1>
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/24904#comment:2>
* has_patch: 0 => 1
Comment:
PR: https://github.com/django/django/pull/4743
--
Ticket URL: <https://code.djangoproject.com/ticket/24904#comment:3>
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/24904#comment:4>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"f0450c9b1298bf5f39e229aec76c9bf7d57d4479" f0450c9b]:
{{{
#!CommitTicketReference repository=""
revision="f0450c9b1298bf5f39e229aec76c9bf7d57d4479"
Fixed #24904 -- Fixed nested namespaces in current_app.
Fixed reverse() to correctly handled nested namespace lookups
in current_app.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/24904#comment:5>