Programming

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

procodes 2020. 7. 16. 21:24
반응형

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을 사용하고 있습니다.


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에서 더 이상 사용되지 않는 기능을 참조하십시오 .


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

from django.urls import reverse

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

from django.core.urlresolvers import reverse

에:

from django.urls import reverse

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

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

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


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


이것을 사용하십시오 :

from django.urls import reverse

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

pip install --upgrade django-extensions

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


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

pip install django==2.0 --upgrade

문제없이 심볼릭 링크를 만들 수 있습니다.

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

그리고 그게 전부입니다.

이전 경로에서 여전히 검색하는 업데이트되지 않은 패키지에 유용합니다.

참고 URL : https://stackoverflow.com/questions/43139081/importerror-no-module-named-django-core-urlresolvers

반응형