Django 中的 url() 函数已被弃用 - 我是否必须更改我的源代码?

Tec*_*ins 4 python django deprecated

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)
Run Code Online (Sandbox Code Playgroud)

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

Wil*_*sem 5

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

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

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

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