Skip to main content
 首页 » 编程设计

python之如何在 Django 1.8 中通过 View 路径而不是名称来引用 url

2024年08月27日28dudu

在 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并手动复制。但决定移除此功能的背后可能有充分的理由。