2010-07-02 65 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