Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中的url()函数已被弃用-我必须更改源代码吗?_Python_Django_Deprecated_Django 4.0_Django 3.2 - Fatal编程技术网

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

Python Django中的url()函数已被弃用-我必须更改源代码吗?,python,django,deprecated,django-4.0,django-3.2,Python,Django,Deprecated,Django 4.0,Django 3.2,在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,

在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()。当该函数被完全删除时,使用它的项目是否必须更改其源代码

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

,如果升级到,
url
将不再可用


通常,如果某个内容被标记为不推荐,它将在两个版本之后被删除,因此in、since和after将被发布。如果您因此有一个活动项目,那么最终将升级到Django-4.0或更高版本,因此应该使用


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

通常,如果某个东西被标记为弃用,它会在两个版本后被删除,在Django-3.3中也是如此。如果您因此有一个活动项目,您最终将升级到Django-3.3或更高版本,因此应该使用
re_path
。Django 2.0版警告以后将不推荐使用此版本,因此仍然使用它是不明智的,正如Willem所说,它将在Django 4.0中删除,正如RemovedJango40警告所述