List Info

Thread: get to named url pattern from request.path




get to named url pattern from request.path
user name
2007-12-18 04:40:55
hello,
in a contextprocessor i am writing, i would like to use the
"named
url" of the current view instead of request.path.

I toyd with django.core.urlresolvers.resolve() but that just
returns
the function configured in urls.py and not the name it was
configured
with

to give an example: my urls.py contains this pattern

urlpatterns += patterns('mcc.log.status',
    url(r'ftpqueue/$', 'ftpqueue', name='mcc-ftpqueue'),
)


in my contextprocessor, request.path is '/ftpqueue/'
now I want to get to the name: 'mcc-ftpqueue'

how to do that?
thanks for any insight you might have
-frank

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the
Google Groups "Django users" group.
To post to this group, send email to django-usersgooglegroups.com
To unsubscribe from this group, send email to
django-users-unsubscribegooglegroups.com
For more options, visit this group at htt
p://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---


Re: get to named url pattern from request.path
country flaguser name
Australia
2007-12-18 20:16:58

On Tue, 2007-12-18 at 02:40 -0800, frank h. wrote:
> hello,
> in a contextprocessor i am writing, i would like to use
the "named
> url" of the current view instead of request.path.
> 
> I toyd with django.core.urlresolvers.resolve() but that
just returns
> the function configured in urls.py and not the name it
was configured
> with
> 
> to give an example: my urls.py contains this pattern
> 
> urlpatterns += patterns('mcc.log.status',
>     url(r'ftpqueue/$', 'ftpqueue',
name='mcc-ftpqueue'),
> )
> 
> 
> in my contextprocessor, request.path is '/ftpqueue/'
> now I want to get to the name: 'mcc-ftpqueue'
> 
> how to do that?

There's not built in way to do this.

If you really wanted to do this in an automated way, you
would need to
write something like the current URL resolving code that ran
through the
patterns until it found a match (following include() calls
as well) and
then returned the pattern name. Not impossible and you could
probably
follow the code in urlresolvers.py initially, but not
something that
you'll get just by calling a single function in core().

Regards,
Malcolm

-- 
Quantum mechanics: the dreams stuff is made of. 
http://www.pointy-s
tick.com/blog/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the
Google Groups "Django users" group.
To post to this group, send email to django-usersgooglegroups.com
To unsubscribe from this group, send email to
django-users-unsubscribegooglegroups.com
For more options, visit this group at htt
p://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---


[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )