ImportError : 'django.core.urlresolvers'라는 모듈이 없습니다.


167

입력을위한 양식을 작성 해야하는 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가 PATH에 설치되지 않은 것 같습니다.
Håken Lid

답변:


347

Django 2.0은 버전 1.10 django.core.urlresolvers으로 이동 한 모듈을 제거합니다 django.urls. 다음 과 같이 django.urls를 대신 사용하도록 가져 오기를 변경해야 합니다.

from django.urls import reverse

Django 2.0은 이전에 있었던 일부 기능을 제거 django.core.urlresolvers하므로 코드가 작동하기 전에 약간 더 변경해야 할 수도 있습니다. 추가 변경 사항에 대한 자세한 내용 은 1.9에서 더 이상 사용되지 않는 기능을 참조하십시오 .


1
타사 모듈 에이 오류가 있습니다. 어떻게 해결할 수 있습니까? 모듈을 편집 할 수는 있지만 수정되지 않은 새 버전을 업그레이드하면 어떻게됩니까? 무시할 수 있습니까?
fabio

풀 모듈을 업데이트하여 써드 파티 모듈로 보낼 수 있습니다
Gajit

62

반대로 가져 오려면 다음에서 가져 오십시오. django.urls

from django.urls import reverse

27

다음과 같은 모든 항목을 교체해야합니다.

from django.core.urlresolvers import reverse

에:

from django.urls import reverse

여기에 이미지 설명을 입력하십시오

참고 : reverse_lazy에도 동일하게 적용됩니다.

Pycharm Cmd+ Shift+ R 에서 경로 대체 를 시작합니다.


같은 오류가 발생하여 시도한 다음 <모듈>의 <C : \ Users \ displ \ Code \ .virtualenvs \ dev \ lib \ site-packages \ cms \ utils \ i18n.py " django.core.urlresolvers import get_resolver, LocaleRegexURLResolver ModuleNotFoundError : 이름이 'django.core.urlresolvers'인 모듈이 없습니다. 모든 답변을 대체하는 정답은 무엇입니까? Django는 짜증나지만 많은 것들이 작동하지 않습니다.
Rich Bianco

3

Travis Build를 만들려고하는 사람들을 위해 Django가 requirements.txt파일 에서 설치되는 기본 경로 는django_extensions 모듈이 업데이트되지 않은 . 현재 유일한 해결 방법은 pip를 사용하여 마스터 분기에서 설치하는 것입니다. 그것이 패치가 만들어지는 곳입니다. 그러나 지금은 기다려야합니다.

그 동안 시도해 볼 수 있습니다.

- pip install git+https://github.com/chibisov/drf-extensions.git@master

- pip install git+https://github.com/django-extensions/django-extensions.git@master




1

TravisCI에 대한 빌드가 이러한 이유로 실패한 경우 requirements.txt에서 Django Extensions를 업데이트하여 문제를 해결할 수 있습니다.

pip install --upgrade django-extensions

Django 2+ 모듈을 사용하도록 확장 기능을 업데이트합니다.


1

Django의 상위 버전에서 urlresolver가 제거되었습니다-django 설치를 업그레이드하십시오. 다음 명령을 사용하여 수정했습니다.

pip install django==2.0 --upgrade

1

이 문제를 해결하려면 install Django보다 작은 버전으로 다운 그레이드하십시오 .2.0. pipDjango==1.11.29

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.