인프런 커뮤니티 질문&답변

yyh3690님의 프로필 이미지
yyh3690

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

django-pydenticon을 import 했을 때, attributeError가 발생해 질문드립니다.

해결된 질문

작성

·

308

0

- 여러분의 질문을 고대하고 있습니다. :-)
- 질문 전에 검색을 먼저 해보세요. 사람 사는 게 다 비슷하다는 것을 알게 됩니다.
- 예의는 거침없이 질문하기 위한 최고의 발명품입니다.
- 100개의 설명이 스크린샷 한방 보다 못할 수 있습니다.
- 코드를 첨부하면 전세계 누구나 이해할 수 있는 질문이 됩니다.
- 하나의 질문에는 하나의 주제를 담아야 답변도 예리해집니다.
- 시행착오를 알려주시면 곧 바로 원하는 문제에 집중할 수 있습니다.

- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요 강사님
 
항상 좋은 강의 들으면서 열심히 공부하고 있습니다.
 
다름이 아니라 프로필 이미지가 없을 경우 대체 이미지를 표현하는 django-pydenticon에 대한 문제를 해결하지 못하여 질문드립니다.
 
pip install django-pydenticon을 먼저 완료한 후, common.py에 추가했습니다.
 
그 후, common.py의 installed_apps에 'django_pydenticon'을 추가했습니다.
 
그 후, project의 urls.py에 django-pydenticon을 import 한 후, path도 등록했더니
 
attributeError가 발생했습니다.
 
구글링을 해도 오류를 찾지 못해 질문 남깁니다.
 
아래는 오류 화면입니다.
 
 
 
 
 
 
 
 

답변 2

1

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

현재 파이썬 3.10을 쓰고 계시는 데요. django-pydenticon 내에서 사용되는 collections.Callable 참조가 파이썬 3.10부터 collections.abc.Callable로 이동하여, 제거된 Attribute라서 발생하는 오류입니다.

파이썬 3.9에서 collections.Callable을 참조하면 아래의 경고가 뜹니다.

<stdin>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working

django-pydenticon이 파이썬 3.10을 지원해야 해결이 되는 이슈인데요.

파이썬 버전을 3.9로 내려서 실행을 해보실수도 있구요.

혹은 몽키패칭이지만, 프로젝트의 settings.py 상단에 다음을 추가하시어, 임시적으로 collections.Callable 속성을 collections.abc.Callable 로부터 복사하시는 방법도 있긴 합니다.

import collections
if not hasattr(collections, 'Callable'):
    collections.Callable = collections.abc.Callable

화이팅입니다. :-)

yyh3690님의 프로필 이미지
yyh3690
질문자

감사합니다.  강사님

 

해결했습니다!!

 

0

yyh3690님의 프로필 이미지
yyh3690
질문자

강사님 위 문제와 별개로 또다른 질문이 생겨 답글로 질문드립니다. 

 

profile_edit 를 구성하던 중 phone_number를 입력할 떄 오류가 발생했습니다. 

 

먼저 models.py에서 phone_number를 작성한 화면입니다. 

아래는 phone_number에 대한 문제 화면입니다. 

 

 

 

이진석님의 프로필 이미지
이진석
지식공유자

본 에러가 발생한 이유를 차근차근 확인해보셨으면 합니다. 코드대로 동작하며, 코드 대로 에러가 발행했습니다.

힌트 : 정규표현식 패턴에 맞지않는 입력값이 들어갔기에 해당 ValidationError가 발생한 것입니다.

yyh3690님의 프로필 이미지
yyh3690
질문자

해결했습니다. 감사합니다~

yyh3690님의 프로필 이미지
yyh3690

작성한 질문수

질문하기