我在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以下。 pip install Django==1.11.29。

其他回答

对于django 2.0以上版本使用:

from django.urls import reverse

在models.py文件中。

要解决这个问题,你可以把Django的版本降低到2.0以下。 pip install Django==1.11.29。

将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'

就我而言,问题是我安装了过时的django-stronghold(0.2.9)。即使在代码中

from django.urls import reverse

我还是遇到了错误。当我把版本升级到django-stronghold==0.4.0后,问题就消失了。

如果你想导入reverse,从django.urls中导入

from django.urls import reverse