嗨,我正在研究Django项目,我需要创建一个输入表单。我试图从reverse
导入django.core.urlresolvers
。我收到一个错误:
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删除了django.core.urlresolvers
模块,该模块在版本1.10中被移动到django.urls
。您应该更改任何导入以使用django.urls,如下所示:
from django.urls import reverse
请注意,Django 2.0删除了以前在django.core.urlresolvers
中的一些功能,因此您可能需要在代码工作之前进行一些更改。有关这些其他更改的详细信息,请参阅features deprecated in 1.9。
如果要导入反向,请从django.urls
导入
from django.urls import reverse
对于那些可能尝试创建Travis Build的人来说,从requirements.txt
文件安装Django的默认路径指向一个尚未更新django_extensions
模块的repo。目前唯一的解决方法是使用pip从master分支安装。这就是制作补丁的地方。但就目前而言,我们必须等待。
你可以试试这个,这可能会有所帮助
- pip install git+https://github.com/chibisov/drf-extensions.git@master
- pip install git+https://github.com/django-extensions/django-extensions.git@master
使用这个:
from django.urls import reverse
如果由于特殊原因导致TravisCI上的构建失败,您可以通过更新requirements.txt中的Django Extensions来解决此问题。
pip install --upgrade django-extensions
这将更新扩展以使用Django 2+模块。
urlresolver已在更高版本的Django中删除 - 请升级您的django安装。我使用以下命令修复它。
pip install django==2.0 --upgrade
您可以毫无问题地创建符号链接。
cd site-packages/django/core
ln -s ../urls/ urlresolvers
就这样。
这对于仍在旧路径中搜索的未更新包非常有用。