问题描述
自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()。完全删除该功能后,使用该功能的项目是否需要更改其源代码?
解决方法
使用它的项目是否必须更改其源代码?
是,如果它们升级到django-4.0,则url
将不再可用。
通常,如果某些内容被标记为已弃用,则会在两个版本之后将其删除,因此在django-4.0中,因为在django-3.2之后,django-4.0将被释放。如果您因此拥有一个活跃的项目,则最终您将升级到Django-4.0或更高版本,因此应改用re_path(…)
[Django-doc]。
因此,该想法是让用户有时间相应地修改代码,并保持应用程序运行。但是最终应该解决弃用警告,因为大约16个月后,它已在最新的Django版本中删除。