【问题标题】:How to reference urls by view path instead of name in Django 1.8?如何在 Django 1.8 中通过视图路径而不是名称来引用 url?
【发布时间】:2014-08-11 10:20:26
【问题描述】:

在 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 及更高版本中是否还有一种方法可以在不命名视图的情况下反转视图?

【问题讨论】:

    标签: python django django-urls


    【解决方案1】:

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

    deprecation timeline for version 2 声明:

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

    在内部,url 标记使用反向,因此将受到相同的弃用。这个在docs for the url tag末尾有提到。

    如果您仍想按路径反转,您可以查看the source for how it's done now 并手动复制它。但移除此功能的决定背后可能有充分的理由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2020-12-26
      • 2018-06-05
      • 2018-09-07
      • 2023-01-22
      • 2021-04-26
      • 1970-01-01
      相关资源
      最近更新 更多