개인 스터디/오류
[Django] ImportError: cannot import name 'url' from 'django.conf.urls' 오류
you__me
2023. 2. 20. 04:42
django 스터디를 하면서 외부라이브러리 markdownx를 사용하는데 위와 같은 오류가 났다.
전에도 비슷한 오류가 났어서 쉽게 해결할 수 있었다.
위의 site-packages\markdownx\urls.py 로 이동하면
from django.conf.urls import url
from .views import (
ImageUploadView,
MarkdownifyView,
)
urlpatterns = [
url(r'^upload/$', ImageUploadView.as_view(), name='markdownx_upload'),
url(r'^markdownify/$', MarkdownifyView.as_view(), name='markdownx_markdownify'),
]
이렇게 적혀 있다. 하지만 내가 쓰고 있는 django 4.0 이상의 버전에서부터는 from django.conf.urls import url를 지원하지 않는다.
따라서 4.0이상에서부터 사용하는 정규식을 이용한다.
from django.urls import re_path
from .views import (
ImageUploadView,
MarkdownifyView,
)
urlpatterns = [
re_path(r'^upload/$', ImageUploadView.as_view(), name='markdownx_upload'),
re_path(r'^markdownify/$', MarkdownifyView.as_view(), name='markdownx_markdownify'),
]
from django.urls import re_path 입력 후 url을 모두 re_path로 바꾸어주면 해결된다.
참고사이트
- 잘 설명되어 있음
ImportError: cannot import name 'url' from 'django.conf.urls' after upgrading to Django 4.0
After upgrading to Django 4.0, I get the following error when running python manage.py runserver ... File "/path/to/myproject/myproject/urls.py", line 16, in <module> from d...
stackoverflow.com