Django'resolve':获取url名称而不是view_function

时间:2010-07-02 10:49:15

标签: python django django-urls

我的问题很简单,我有一个网址,我想解决它,但获取url名称而不是与之关联的视图功能......

例如......这是urlconf:

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

这就是我想要的:

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

你知道怎么办?

2 个答案:

答案 0 :(得分:30)

在Django 1.3及更新版本中,您可以使用resolve函数:

from django.core.urlresolvers import resolve
print resolve('/books/').url_name

答案 1 :(得分:3)

使用此片段(最初取自 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'