Django中的url函数已被弃用-是否需要更改源代码?

问题描述

自3.1版以来,django中的

The url() function已被弃用。这是向后兼容的处理方式;

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,kwargs,name)

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

解决方法

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

,如果它们升级到,则url将不再可用。

通常,如果某些内容被标记为已弃用,则会在两个版本之后将其删除,因此在中,因为在之后,将被释放。如果您因此拥有一个活跃的项目,则最终您将升级到Django-4.0或更高版本,因此应改用re_path(…) [Django-doc]

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