Подтвердить что ты не робот

Regex django url

Здравствуйте, у меня есть url, и я хочу совместить uuid url выглядит следующим образом:

/мобильный/мобильный-вещь/ 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'),
)

но это не работает вообще. Мой соответствующий вид не вызывается. Я тестировал так много вариаций... ahw

но url(r'^mobile-thing/', 'mobile_thing', name='mobile-thinger') работает как шарм, но не группа...

4b9b3361

Ответ 1

В выражении [.*/] соответствует только символ один, который может быть ., * или /. Вместо этого вам нужно написать (это всего лишь один из многих вариантов):

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

Здесь [^/] представляет любой символ, но /, а + сразу после этого класса символов один или несколько раз. Вы не хотите, чтобы конечный / был в uuid var, поэтому поставьте его вне круглых скобок.

Ответ 2

Попробуйте это регулярное выражение:

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

Итак, это будет:

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