ImportError: Нет модуля с именем 'django.core.urlresolvers'

Привет, я работаю над проектом 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.

Ответы

Ответ 1

Django 2.0 удаляет модуль django.core.urlresolvers, который был перемещен в django.urls в версии 1.10. Вы должны изменить любой импорт, чтобы использовать вместо него django.urls, например так:

from django.urls import reverse

Обратите внимание, что Django 2.0 удаляет некоторые функции, которые ранее были в django.core.urlresolvers, поэтому вам может потребоваться внести некоторые изменения, прежде чем ваш код заработает. Подробности об этих дополнительных изменениях см. В функциях, устаревших в 1.9.

Ответ 2

если вы хотите импортировать реверс, импортируйте его из django.urls

from django.urls import reverse

Ответ 3

Вам необходимо заменить все вхождения:

from django.core.urlresolvers import reverse

чтобы:

from django.urls import reverse

enter image description here

ПРИМЕЧАНИЕ: то же самое относится к reverse_lazy

в Pycharm Cmd + Shift + R для начала замены в Path.

Ответ 4

Для тех, кто, возможно, пытается создать Travis сборки, путь по умолчанию, из которого установлен Django от requirements.txt точек файлов в репозиторий, чей django_extensions модуль не был обновлен. Единственный обходной путь, на данный момент, заключается в установке из основной ветки с помощью pip. Вот где патч сделан. Но сейчас нам придется подождать.

Вы можете попробовать это в то же время, это может помочь

- pip install git+https://github.com/chibisov/[email protected]

- pip install git+https://github.com/django-extensions/[email protected]

Ответ 5

используйте это:

from django.urls import reverse

Ответ 6

Если ваши сборки на TravisCI терпят неудачу по этой конкретной причине, вы можете решить эту проблему, обновив расширения Django в ваших файлах require.txt.

pip install --upgrade django-extensions

Это обновит расширения для использования модулей Django 2+.

Ответ 7

urlresolver был удален в более поздней версии Django - обновите установку django. Я исправил это с помощью следующей команды.

pip install django==2.0 --upgrade

Ответ 8

Используйте "из django.urls импорт в обратном порядке" в месте "из

django.core.urlresolvers импорт обратный "

Ответ 9

Вы можете создать символическую ссылку без проблем.

cd site-packages/django/core
ln -s ../urls/ urlresolvers

И все.

Это полезно для не обновленных пакетов, которые все еще выполняют поиск по старому пути.