在Django中,如何通过请求确定其URLconf视图名称?

2 投票
1 回答
1011 浏览
提问于 2025-04-16 19:00

我可以通过 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 函数的用处理解错了,它的用处其实很大。

撰写回答