我在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。
当前回答
对于那些试图创建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
其他回答
如果你在TravisCI上的构建因为这个原因失败了,你可以通过更新requirements.txt中的Django Extensions来解决这个问题
pip install --upgrade django-extensions
这将更新扩展以使用Django 2+模块。
Django 2.0移除了Django .core.urlresolvers模块,该模块被移到了Django。1.10版中的url。你应该改变任何导入来使用django。而是url,像这样:
from django.urls import reverse
注意,Django 2.0删除了一些以前在Django .core中的特性。Urlresolvers,所以在你的代码工作之前,你可能需要做更多的改变。有关这些额外更改的详细信息,请参阅1.9中已弃用的特性。
对于那些试图创建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-stronghold(0.2.9)。即使在代码中
from django.urls import reverse
我还是遇到了错误。当我把版本升级到django-stronghold==0.4.0后,问题就消失了。
如果你想导入reverse,从django.urls中导入
from django.urls import reverse