python - Django 中的 url() 函数已被弃用 - 我必须更改我的源代码吗?
问题描述
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)
目前,调用 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 版本中被删除。
推荐阅读
- reactjs - 从身份服务器登录页面启动授权代码流的正确方法是什么?
- reactjs - 限制搜索功能中的先前 api 请求
- eclipse-plugin - 如何以编程方式使用 Composite 关闭视图?
- package.json - package.json 中的“^3.0.0-0”是什么意思?
- c# - 如何为通用接口使用依赖注入?
- ios - 为什么 UIView 的边缘对于巨大的圆角半径不平滑?
- php - Kubernetes 部署中缺少 pdo_mysql PHP 扩展
- c# - Xamarin.Forms PopModalAsync:未观察到任务的异常
- android - Mockito 在 Android Studio 中显示 IllegalStateException
- c++ - Windows 的 AcquireSRWLockExclusive 是递归的吗?