Django 中的 url() 函数已被弃用 - 我是否必须更改源代码?
The url() function in Django has been deprecated - Do I have to change my source code?
The url() function 在 django 中自 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()。当该功能被完全移除后,使用它的项目是否必须更改其源代码?
will the projects that use it have to change their source code?
是,如果他们升级到django-4.0,url
将不再可用。
通常,如果某些东西被标记为已弃用,它会在两个版本后被删除,所以在 django-4.0 中,因为在 django-3.2 之后,django-4.0 将是释放。如果你因此有一个活跃的项目,你最终会升级到 Django-4.0 或更高版本,因此应该使用 re_path(…)
[Django-doc] 代替。
因此,我们的想法是让用户有时间相应地调整代码,并保留应用程序 运行。但是最终应该修复弃用警告,因为在大约 16 个月后,它在最新的 Django 版本中被删除了。
The url() function 在 django 中自 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()。当该功能被完全移除后,使用它的项目是否必须更改其源代码?
will the projects that use it have to change their source code?
是,如果他们升级到django-4.0,url
将不再可用。
通常,如果某些东西被标记为已弃用,它会在两个版本后被删除,所以在 django-4.0 中,因为在 django-3.2 之后,django-4.0 将是释放。如果你因此有一个活跃的项目,你最终会升级到 Django-4.0 或更高版本,因此应该使用 re_path(…)
[Django-doc] 代替。
因此,我们的想法是让用户有时间相应地调整代码,并保留应用程序 运行。但是最终应该修复弃用警告,因为在大约 16 个月后,它在最新的 Django 版本中被删除了。