我正在编写一个 Django 上下文处理器,它需要访问成功解析请求的 URL 模式的名称。鉴于模式,
url(r'^home/$', 'app.index', name='website.home')
和请求路径 /home,我想获取 name 的值,在本例中是 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
我可以用它来实现我的目标,但我的直觉告诉我必须有更好的方法。谢谢您的帮助。