使用Django 4.0引入rest_auth.urls时遇ImportError报错求助
Django4.0配置rest_auth.urls出现ImportError的解决方法
问题原因
django-rest-auth包未适配Django4.0版本,它内部使用了django.conf.urls.url,而该模块在Django3.1及以上版本已被移除,替换为django.urls.re_path,因此导入时触发报错。
解决方案
方案一:使用适配新版本的替代包(推荐)
安装dj-rest-auth(django-rest-auth的维护分支,支持Django4.0+):
pip install dj-rest-auth
然后修改URL配置中的对应行:
path('api/v1/rest-auth/', include('dj_rest_auth.urls')),
方案二:手动修改django-rest-auth源码(不推荐)
找到Python环境中django-rest-auth的安装目录,打开其中的urls.py文件,将:
from django.conf.urls import url
替换为:
from django.urls import re_path as url
注意:后续包更新会覆盖此修改,需重复操作。
方案三:降级Django版本
将Django降级到3.2版本(该版本仍兼容django.conf.urls.url):
pip install django==3.2
内容的提问来源于stack exchange,提问作者Shanmukh Adari
相关产品推荐
相关产品推荐

