我在Django项目上工作,我需要为输入创建一个表单。我尝试从django.core.urlresolvers导入reverse。我得到一个错误:
line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'
我使用的是Python 3.5.2, Django 2.0和MySQL。
我在Django项目上工作,我需要为输入创建一个表单。我尝试从django.core.urlresolvers导入reverse。我得到一个错误:
line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'
我使用的是Python 3.5.2, Django 2.0和MySQL。
当前回答
对于django 2.0以上版本使用:
from django.urls import reverse
在models.py文件中。
其他回答
对于那些试图创建Travis Build的人来说,在requirements.txt文件中,Django的默认安装路径指向一个没有更新django_extensions模块的repo。目前,唯一的解决方法是从主分支使用pip进行安装。这就是制作补丁的地方。但现在,我们必须等待。
你可以试试这个,也许会有帮助
- PIP安装git+https://github.com/chibisov/drf-extensions.git@master
- PIP安装git+https://github.com/django-extensions/django-extensions.git@master
要解决这个问题,你可以把Django的版本降低到2.0以下。 pip install Django==1.11.29。
urlresolver在更高版本的Django中已被删除-请升级您的Django安装。我使用以下命令修复了它。
pip install django==2.0 --upgrade
你需要替换所有出现的:
从django.core.urlresolvers导入反向
to:
django。url导入反向
注意:同样适用于reverse_lazy
在Pycharm Cmd+Shift+R中开始替换路径。
将Django 1.9 (Python 2.7)升级到Django 3.2 (Python 3.9)
这可以在一行bash替换中解决:
grep -ril "from django.core.urlresolvers" your_source_code_folder | xargs sed -i 's@from django.core.urlresolvers@from django.urls@g'