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

时间:2014-06-20 15:39:51

标签: python django django-urls

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

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

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

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

{% url 'app-views-client' client.id %}

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

{% url 'path.to.some_view' v1 %}

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

1 个答案:

答案 0 :(得分:3)

如果您想要向前兼容,则必须使用已命名的网址。

deprecation timeline for version 2州:

  

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

在内部,url标记使用reverse,因此它将受到相同的弃用。这在docs for the url tag

的末尾提到

如果您想要按路径反转,可以查看the source for how it's done now并手动复制。但是,决定取消这种能力可能是一个很好的理由。