在 Django 中是否有必要命名 url 以便在 url 模板标记中使用?
文档中给出了以下 url 示例:
('^client/([0-9]+)/$', 'app_views.client', name='app-views-client')
并且可以在这样的模板中使用:
{% url 'app-views-client' client.id %}
但是有什么方法可以通过路径而不是名称来反转 View 吗?有一种方法在 1.8 中已弃用,将在 Django 2.0 中删除,如下所示:
{% url 'path.to.some_view' v1 %}
在 1.8 及更高版本中,是否还有一种方法可以在不命名 View 的情况下反转 View ?
请您参考如下方法:
如果你想向前兼容,命名 url 将变得必要。
deprecation timeline for version 2状态:
The ability to reverse() URLs using a dotted Python path will be removed.
在内部,url 标签使用 reverse,所以它会受到同样的弃用。 docs for the url tag 末尾提到了这一点.
如果你还想按路径反转,你可以看看the source for how it's done now并手动复制。但决定移除此功能的背后可能有充分的理由。
