我正在編寫一個Django上下文處理器,它需要訪問已成功解析請求的URL模式的名稱。鑑於模式,獲取匹配網址格式的名稱
url(r'^home/$', 'app.index', name='website.home')
,並請求路徑爲/ home,我想要得到的名字的價值,在這種情況下是website.home。
我從djangosnippets.org驗證碼:
def _get_named_patterns():
""" Returns a list of (pattern-name, pattern) tuples.
"""
resolver = urlresolvers.get_resolver(None)
patterns = sorted(
(key, val[0][0][0]) for key, val in resolver.reverse_dict.iteritems() if isinstance(key, basestring))
return patterns
我可以用它來實現我的目標,但我的直覺說,必須有一個更好的方法。謝謝您的幫助。
我認爲最好的回答這個問題,得到的回答[這裏] [1] barszczmm [1]:http://stackoverflow.com/questions/3165037/django-resolve -get-the-url-name-instead-of-the-view-function/10842650#10842650 – andzep 2012-10-24 22:51:29