在Django中,如何通过请求确定其URLconf视图名称?
我可以通过 request.path
获取视图函数:
from django.core.urlresolvers import resolve
view_func, _args, _kwargs = resolve(request.path)
不过,我需要做的事情更多。我想要一个视图名称的列表,比如 ['edit_foo', 'delete_foo']
,然后检查当前的 URL 是否属于这些视图之一。
我想了一些办法,使用了 django.core.urlresolvers
的一些内部功能,但我希望找到一个既高效又比较正确的方法(也就是说,不想用一些不靠谱的方式,最好是有文档支持的)。
1 个回答
5
写完那个长长的问题后,我自己搞明白了 :/ (发这个是为了帮助其他可能遇到同样问题的人)。其实很简单:
>>> resolve(request.path).url_name
'edit_foo'
我之前可能对 resolve
函数的用处理解错了,它的用处其实很大。