You raise a good point about sub menus.
Possibly something like this:
def resolve_urlname(request):
"""Allows us to see what the matched urlname for this
request is within the template"""
from django.core.urlresolvers import resolve
try:
res = resolve(request.path)
if res:
return {
'urlname' : res.url_name,
'urlparts' : res.url_name.split("__")
}
except:
return {}
But then that forces a naming convention which might not be desired.
The other option is to see if the core devs would accept a patch which allows you to specify a 'urlname group' on the url() method in urls.py..
Cal
On Fri, Jul 6, 2012 at 3:20 PM, Melvyn Sopacua <m.r.sopacua@gmail.com> wrote:
On 6-7-2012 16:01, Cal Leeming [Simplicity Media Ltd] wrote:Just wondering about this:
> I've actually just done a ticket about this..
>
> https://code.djangoproject.com/ticket/18584
>
> Personally, I think the approach mentioned in the ticket is a far saner way
> of doing things.
if res:
return {'urlname' : res.url_name}
a) no else clause, so there's a codepath where no dict is returned
b) if that can't be reached, then why the if statement.
Other that that, it probably needs a bit of refinement if you're going
to force a naming convention, then force the convention on how to deal
with sub menus, so that we can generate stuff like:
News
| world
>> local
| business
Polls
| current
| recent
etc and have both "news" and "local" highlighted. For example it makes
sense for urlnames like this to have a double underscore separator, so
the urlname for news/local would be news__local.
Then again, it might be overkill.
--
Melvyn Sopacua
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment