본문 바로가기
프로그래밍/문제

ImportError: cannot import name 'url' from 'django.conf.urls'

by 카너먼 2023. 1. 31.
 
Do it! 장고+부트스트랩 파이썬 웹 개발의 정석
이 책은 블로그 웹 사이트를 만드는 실습을 진행하면서 웹 개발 기초부터 블로그 개발, 배포, 운영까지 한 번에 다룹니다. 이 과정에서 HTML, CSS, 자바스크립트부터 부트스트랩, 파이썬 웹 프레임워크 장고(Django), 도커(Docker), 아마존 웹 서비스(AWS)까지 웹 사이트를 만들고 배포할 때 필요한 대부분의 기술을 배울 수 있습니다. 이 책에서 만드는 웹 사이트는 단지 연습을 위한 것이 아니라 실제 나만의 블로그로 활용할 수 있는 실용성을 갖췄습니다. 필요한 기능을 하나씩 구현하며 맞닥뜨리는 어려움을 직접 풀면서 웹 개발에 대한 전반적인 이해와 함께 문제를 해결하는 능력까지 쌓아 보세요.
저자
이성용, 김태곤
출판
이지스퍼블리싱
출판일
2021.01.18

 

 

Do it! 장고+부트스트랩 파이썬 웹 개발의 정석을 공부하다 오류가 발생했습니다.

 

오류 부분은 다음과 같습니다.

 

435쪽

Ch.16 외부 라이브러리를 블로그에 활용하기


오류 설명: MarkdownX url.py 추가 후 마이그레이션 시 에러 발생.
원인: from django.urls import include 때문에 문제 발생한 것.

 


해결책은 다음과 같습니다.


1️⃣ 자신의 가상환경 venv\lib\site-packages\django\conf\urls\__init__.py 파일을 열어서

2️⃣ 맨 위에 있는 from django.conf.urls import url 을

3️⃣ from django.urls import re_path as url 로 수정합니다.


이유:

django.conf.urls.url() was deprecated in Django 3.0, and is removed in Django 4.0+.

The easiest fix is to replace url() with re_path()

장고의 Version이 문제라고 합니다. 

 

출처: https://stackoverflow.com/questions/71628431/importerror-cannot-import-name-url-from-django-conf-urls

 

ImportError: cannot import name 'url' from 'django.conf.urls'

ImportError: cannot import name 'url' from 'django.conf.urls' (/home/chams/pfe_project/CarApp/venv/lib/python3.8/site-packages/django/conf/urls/_init_.py) I can't find any mistakes in my code !

stackoverflow.com



=> 또 다른 해결법: Django의 버전을 낮추는 방법도 있습니다. 

터미널에서 pip uninstall django 로 장고를 지우고

pip install django==3.2 로 버전을 낮춰 봅시다.