10~11일차 allauth 관련 상속 및 확장

드디어 며칠동안 헤매던 Find 부분 해결이 났다.

기존 모델 상속 받아서 확장하기 보단, 새로운 모델을 하나 더 만들어 새롭게 저장하는 방식으로 해결을 했다.

기존 모델을 상속받아 새로운 정보를 저장하는 방식에서 겪었던 문제는 다음과 같다. 처음엔 allauth 모델 확장과 관련해 잘 쓰여진 어느 블로그의 포스팅을 참고하며 시작했으나 알 수 없는 문제가 발생해 해결하느라 애먹었다.

 

  • 알 수 없는 충돌 : allauth의 경우 pre_sociallogin_function이 있어서 로그인 전 수행하고 싶은 일을 등록시켜둘 수 있는 메소드가 있었으나 아직 로그인이 되지 않은 상태라 세션 값을 가져오기가 힘들어 이 방법으로 접근하는것 보다 로그인 후 바로 SocialAccount의 extra_data를 가져와 UserProfile에 저장하는 방식으로 접근했다. 이미 저장된 경우엔 pass 하도록 설정.

  • Connection refused 현상 발생

  • Token 관련 문제 발생

위 두 가지 문제는 allauth의 Adaptor를 상속받아 쓴 이후 나타난 것으로 해결을 하진 못했고, Adaptor를 사용하지 않고 다른 방법을 사용했다.

아 그리고 settings.py 에 django-allauth와 관련된 설정 내용이 충돌을 일으킨 것 같기도 하다. 4가지 항목이 있었는데, 삭제하고 나니 거짓말처럼 잘 되긴했다.

기능 구현은 끝이 났고, 이제 시간이 더 오래걸리는 Front-end 작업이 남아있다.