Django 'resolv': получить имя URL вместо функции view_function - PullRequest
16 голосов
/ 02 июля 2010

Моя проблема проста, у меня есть URL-адрес, я хотел бы решить его, но вместо имени функции связанного с ней представления имя url ...

Например ... этоis urlconf:

urlpatterns = patterns('',
...
    url('^/books/$', book_list, name="overview_books"),
...
)

И вот что я хотел бы:

>>> resolve('/books/')
'overview_books'

Знаете ли вы какой-нибудь способ сделать это?

Ответы [ 2 ]

30 голосов
/ 01 июня 2012

В Django 1.3 и новее вы можете использовать resol function:

from django.core.urlresolvers import resolve
print resolve('/books/').url_name
3 голосов
/ 02 июля 2010

Используйте этот фрагмент (первоначально взято с djangosnippets.org / snippets / 1378 / );

>>> from my_projects.tools import resolve_to_name
>>> print resolve_to_name('/some/url')
'app.views.view'
>>> print resolve_to_name('/some/other/url')
'this_is_a_named_view'

;)

...