이슈 내용
allauth 비밀번호 변경시 메인 페이지로 리다이렉트 시키게 변경
'AnonymousUser' object has no attribute 'has_usable_password' 발생
→ allauth의 PasswordChangeView의 success_url 오버라이딩 + url 추가
작동 잘됨
그러나 allauth 로그인이 안된 상태에서 비밀번호 변경시 에러
→ 로그인을 안했을 경우 로그인 페이지로 리다이렉트 시키려했지만 에러 발생
url이 http://localhost:8000/accounts/login/?next=/password/change/
로 변경되며 page not found 뜸
→ 로그인이 안된 상태로 인증을 완료했을 경우 리다이렉트되는 URL 설정을 안해줘서난 오류 (기본적으로 accounts/login 으로 이동하지만 우리는 /login이기에 오류가 생긴 것)
해결 방법
allauth의 PasswordChangeView의 success_url 오버라이딩
# views.py
class CustomPasswordChangeView(LoginRequiredMixin, PasswordChangeView):
success_url = reverse_lazy("main")
url 추가
# urls.py
# allauth.urls보다 위에 설정해줘야함!
urlpatterns = [
path(
"password/change/",
CustomPasswordChangeView.as_view(),
name="account_password_change",
),
path("", include("allauth.urls")),
]
로그인이 안된 상태로 인증을 완료했을 경우 리다이렉트되는 URL 설정
# settings.py
LOGIN_URL = "/login"
참고 자료
Django-allauth: PasswordChangeView override of success_url with logged out user results in error
When changing a password via django-allauth, the default redirect after successfully posting the password change is again the password change template. Since I find this confusing, I overrode the
stackoverflow.com
[Django] 장고 유저 기능 구현하기 #11 ( 비밀번호 관리 기능)
2021.12.20 - [Study/Django] - [Django] 장고 유저 기능 구현하기 #10 (이메일 인증 기능) [Django] 장고 유저 기능 구현하기 #10 (이메일 인증 기능) 2021.12.19 - [Study/Django] - [Django] 장고 유저 기능 구현하기 #9 (
programmers-sosin.tistory.com
조누스의 걸음마 개발로그
안녕하세요 열정괴물 신입개발자 조누스의 개발로그입니다.
jonushk.github.io
[Django] allauth 패키지
django-allauth 패키지란? 장고에서 유저 기능 구현을 위해 쓰이는 패키지 입니다. 장고에서 제공하는 것들 중 django.contrib.auth와 django-allauth가 있는데요, 이 둘의 차이는 다음과 같습니다. django.contrib.
tomatobaconsoup.tistory.com
[Django] allauth URL 및 세팅
2021.12.15 - [Study/Django] - [Django] 장고 유저 기능 구현하기 #3 (all-auth 사용 셋팅) [Django] 장고 유저 기능 구현하기 #3 (all-auth 사용 셋팅) 2021.12.15 - [Study/Django] - [Django] 장고 유저 기능 구현하기 #2 ( 유저
programmers-sosin.tistory.com
'프레임워크 > Django' 카테고리의 다른 글
[allauth] 프로필 이미지 문제 (0) | 2023.05.25 |
---|---|
[allauth] admin 페이지 접속시 오류 (0) | 2023.05.24 |
[allauth] 회원가입 로그인시 SMTPSenderRefused 오류 (0) | 2023.05.24 |
[Django] MVT 패턴 (0) | 2023.05.16 |
[Django] 장고 모델과 폼의 관계 (0) | 2023.05.08 |