15

Hello I have a url and I want to match the uuid the url looks like this:

/mobile/mobile-thing/68f8ffbb-b715-46fb-90f8-b474d9c57134/

urlpatterns = patterns("mobile.views",
    url(r'^$', 'something_cool', name='cool'),
    url(r'^mobile-thing/(?P<uuid>[.*/])$', 'mobile_thing', name='mobile-thinger'),
)

but this doesn't work at all. My corresponding view is not being called. I tested so many variations...ahw

but url(r'^mobile-thing/', 'mobile_thing', name='mobile-thinger') works like a charm but no group...

2 Answers 2

33

The [.*/] expression only matches one character, which can be ., * or /. You need to write instead (this is just one of many options):

urlpatterns = patterns("mobile.views",
    url(r'^$', 'something_cool', name='cool'),
    url(r'^mobile-thing/(?P<uuid>[^/]+)/$', 'mobile_thing', name='mobile-thinger'),
)

Here, [^/] represents any character but /, and the + right after matches this class of character one or more times. You do not want the final / to be in the uuid var, so put it outside the parentheses.

Sign up to request clarification or add additional context in comments.

2 Comments

thanks a lot...this does not call my view function...i also tried so many variations...could it be a problem that this urls are included into another urls?
How is it being included? Show that code. The problem is almost certainly there.
2

Try this regex instead:

\/mobile-thing\/(?P<uuid>.*)\/$

So it'd be:

urlpatterns = patterns("mobile.views",
    url(r'^$', 'something_cool', name='cool'),
    url(r'\/mobile-thing\/(?P<uuid>.*)\/$', 'mobile_thing', name='mobile-thinger'),
)

2 Comments

thanks..i missed to say that the regex is insite of an included url...this does matter does it?
".*" is all characters and will include "/" when it is not the ending character. So "/asdffadd/asdfdfsadf/" = "asdffadd/asdfdfsadf"

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.