2010-07-02 68 views
14

我的问题很简单,我有一个网址,我想解决这个问题,但得到的url名称,而不是与它相关的视图功能...Django的“解析”:获取URL名称,而不是view_function的

例如......这就是URL配置:

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

这是我想什么:

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

你知道任何方式做到这一点?

回答

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' 

;)

28

在Django的1.3和较新的,你可以使用resolve功能:

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