У меня есть случай, когда я определил некоторые шаблоны url Django, и теперь я хочу получить регулярное выражение, связанное с данным шаблоном. Я хочу, потому что я хочу передать эти регулярные выражения клиенту, чтобы я мог проверять URL-адреса на клиенте (я говорю об обработке истории браузера) и запускать соответствующие обработчики (в JavaScript), когда есть совпадение.
Например, если у меня есть:
# urls.py
urlpatterns = patterns("",
url(r"^$", Index.as_view(), name="index"),
url(r"^user/", include("User.urls", namespace="User")),
)
# User/urls.py
urlpatterns = patterns("",
url(r"^profile/(?P<slug>.*)$", GetProfile.as_view(), name="get_profile")
)
тогда мне нужна следующая функция:
>>> get_regex("User:get_profile")
'^user/profile/(?P<slug>.*)$'
(или, тем не менее, Django переводит его). Обратите внимание, что я использую пространства имен. Есть идеи? Django1.5.
Также мне удалось написать функцию, которая возвращает объект urlpattern, связанный с переданным именем, однако url.regex.pattern
возвращает '^profile/(?P<slug>.*)$
. Итак, вы можете видеть, что нет ведущего ^user/
.