首页 > 解决方案 > Django 中的 url() 函数已被弃用 - 我必须更改我的源代码吗?

问题描述

django 中的 url() 函数自 3.1 版以来已被弃用。以下是处理向后兼容性的方式;

def url(regex, view, kwargs=None, name=None):
    warnings.warn(
        'django.conf.urls.url() is deprecated in favor of '
        'django.urls.re_path().',
        RemovedInDjango40Warning,
        stacklevel=2,
    )
    return re_path(regex, view, kwargs, name)

目前,调用 url() 函数时会返回 re_path()。当该功能被完全删除后,使用它的项目是否必须更改其源代码?

标签: pythondjangodeprecated

解决方案


使用它的项目是否必须更改其源代码?

的,如果他们升级到url将不再可用。

通常,如果某些东西被标记为弃用,它会在两个版本之后被删除,所以在中,因为在之后,将被释放。如果您因此有一个活动项目,您最终将升级到 Django-4.0 或更高版本,因此应该使用re_path(…)[Django-doc]代替。

因此,这个想法是让用户有时间相应地调整代码,并保持应用程序运行。但是最终应该修复弃用警告,因为大约 16 个月后,它在最新的 Django 版本中被删除。


推荐阅读