如何在 Django 1.8 中通过视图路径而不是名称来引用 url?

Seb*_*ski 2 python django django-urls

在 Django 中是否有必要命名用于 url 模板标签的 url?

文档中给出了以下 url 示例:

('^client/([0-9]+)/$', 'app_views.client', name='app-views-client')
Run Code Online (Sandbox Code Playgroud)

并且可以在这样的模板中使用:

{% url 'app-views-client' client.id %}
Run Code Online (Sandbox Code Playgroud)

但是有没有办法通过路径而不是名称来反转视图?有一种方法在 1.8 中已弃用,并将在 Django 2.0 中删除,如下所示:

{% url 'path.to.some_view' v1 %}
Run Code Online (Sandbox Code Playgroud)

在 1.8 及更高版本中,是否还有一种方法可以在不命名的情况下反转视图?

dav*_*ism 5

如果你想向前兼容,命名 url 将成为必要。

版本 2弃用时间表指出:

将删除使用虚线 Python 路径 reverse() URL 的功能。

在内部,url 标记使用反向,因此它将受到相同的弃用。这在 url 标签文档末尾提到。

如果您仍然想按路径反转,您可以查看其现在如何完成的源代码并手动复制。但决定移除此能力背后可能有一个很好的理由。