1

我的 URLConf 中有几个命名url()的 s 导致相同的视图。从该视图中,我如何找出其中哪些url()匹配并导致视图被调用?

4

1 回答 1

1

查看request对象,这是您视图的第一个位置参数。它有一个request.path属性。

要了解解析器如何将当前request.path与您的 URLConf 匹配,请调用解析器:

from django.core.urlresolvers import resolve
resolver_match = resolve(request.path)

在视图中,resolver_match绝对保证是一个ResolverMatch包含url_name属性的对象。此属性是url()匹配的名称的名称。

ResolverMatch对象具有以下属性:

.app_name {str} or {NoneType}
.args {tuple}
.kwargs {dict}
.namespace {str}
.namespaces {list}
.url_name {str}
.view_name {str}
于 2013-02-06T06:54:59.173 回答