Applion 007 | django password reset 커스터마이징을 위한 분석

Yunny.Log ·2022년 2월 13일
0

ToyProject

목록 보기
11/13
post-thumbnail
  • password 재설정 시 경고문구들과 (default로 뜨는)
  • password 재설정 과정에서 뜬 에러메시지가 구분없이 나타나길래
    이 둘을 구별해서 사용하고자 조그마한 여정을 나섰다

  • 그러다 이 페이지까지 도달하게 되었는데 이 부분에서 경고 help text들의 생성과정을 알 수 있었다.

  • 이 페이지는 password 검증여부를 판단 후에 적절하지 않다면 왜 적절하지 않은지 사용자에게 알려주는 text를 지정해주는 파트다.

  • 위에 두 함수 중 texts라고만 되어있는 친구에서 반환해줄 text를 가장 먼저 지정한다

  • help_texts=[] 라는 빈 배열을 생성하고

  • 1) password_validator 이 따로 존재하지 않는 기본의 경우면 우리가 디폴트값으로 볼 수 있는 아래 첨부한 이미지에 해당하는 디폴트 텍스트만 help_texts에 담아 전달해준다

  • 2) password_validator 이 존재하는 경우면 이에 적합한 text를 추가적으로 넣어 반환한다
    => 비밀번호를 검증하는 validator들이 여러개 있는데 예시로 아래와 같은 길이가 적절한 지 여부를 검증하는 validator은 아래와 같다

그리고 각 validator에게는 비밀번호가 자신의 기준과 적합하지 않으면 get_help_text를 반환한다. 이 get_help_text를 help_texts 배열에 append 하면서 추가적인 에러메시지를 반환하는 것이다

1) 즉 처음 접속 시엔 비번 검증을 거치지 않으니 무조건 help_Text에는 default 메시지들만 존재
2) 이제 검증 거칠 때마다 유효성 여부 따라서 검증 오류를 help_text에 append 하면서 유저에게 검증 에러 메시지가 추가적으로 뜨게 된다

  • 검증

    위에다가 맨 디폴트 값의 help_items 의 길이를 알아보기 위해 위와 같은 프린트문을 첨가해주었다
  • 역쉬나 결과는 디폴트 메시지의 갯수인 4개

이제 일부러 비번을 잘못 입력해봄 , 비밀번호초기입력 - 재확인입력을 다르게 했을 시에 아래와 같이 메시지가 하나 더 추가되는데

-> 근데 위의 가정 잘못되었었다


에러메시지가 추가되나 아니나 help_items, text 둘 다 디폴트 값만 가진다..!
에러메시지는 다른 곳에??

여기서 검증 에러일어나면 에러메시지 띄운다고 한다!!!!!!!!!

  • 이렇게 분리도 되는 것을 보니 help_text와 에러는 관련 없었음

    => 이 친구는 errorlist의 형태로 담겨져오네
    => 얘를 빨간 글씨 띄울거야

Getting a list of errors in a Django form
https://stackoverflow.com/questions/2035288/getting-a-list-of-errors-in-a-django-form


위의 스택오버플로우를 참고해서 아래와 같이에러메시지는 별개로 빨갛게 출력하게 함

  • 에러리스트는 따로 뽑기

결론

  • help_text는 언제나 default인 아이들
  • 에러 메시지는 별개의 아이

0개의 댓글