Здравствуйте, у меня есть 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')
работает как шарм, но не группа...
В выражении [.*/]
соответствует только символ один, который может быть .
, *
или /
. Вместо этого вам нужно написать (это всего лишь один из многих вариантов):
urlpatterns = patterns("mobile.views",
url(r'^$', 'something_cool', name='cool'),
url(r'^mobile-thing/(?P<uuid>[^/]+)/$', 'mobile_thing', name='mobile-thinger'),
)
Здесь [^/]
представляет любой символ, но /
, а +
сразу после этого класса символов один или несколько раз. Вы не хотите, чтобы конечный /
был в uuid
var, поэтому поставьте его вне круглых скобок.
Попробуйте это регулярное выражение:
\/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'),
)