0

I am not looking for from django.core.urlresolvers import reverse
what I want to do is : I have a urlpattern:

urlpatterns = patterns('xxx.views',
    url(r'^search/$', 'resume_search', name='xxx_resume_search'),
    url(r'^recruit/manage/(?P<id>[0-9]+)$', 'recruit_manage', name='xxx_recruit_manage'),
)

I want to do something like

rr = reverse_regex('xxx_recruit_manage') 

rr would be '^recruit/manage/(?P<id>[0-9]+)$'

if

urlpatterns = patterns('xxx.views',
    url(r'^search/$', 'resume_search', name='xxx_resume_search'),
    url(r'^recruit/manage/$', 'recruit_manage', name='xxx_recruit_manage'),
)
    url(r'^recruit/manage/(?P<id>[0-9]+)$', 'recruit_manage', name='xxx_recruit_manage'),
)

rr would be ['^recruit/manage/$','^recruit/manage/(?P<id>[0-9]+)$']

How can I make it?

1 Answer 1

1

The urls.py is like any other module where you can import it and see what things it has.

The below is quite crude but works and shows off the API.

import myapp.urls as my_urls

regex_pattern = my_urls.urlpatterns[2].regex.pattern
>> ^recruit/manage/(?P<id>[0-9]+)

a bit better

regex_object = filter(lambda x:'xxx_recruit_manage' == x.name, my_urls.urlpatterns)
>> [<RegexURLPattern recruit_manage ^recruit/manage/(?P<id>[0-9]+)$>]
Sign up to request clarification or add additional context in comments.

2 Comments

Wonderful!Thank you.'xxx_recruit_manage' == x.name is better, in may result to match a url name contain 'xxx_recruit_manage', such as 'xxx_recruit_manage_list'.
Yes, of course, updated the answer to reflect that :) Just remember that you have two name with the same name.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.