docs.djangoproject.com/en/3.1/topics/auth/default/#all-authentication-views
이미 django auth system에서 기본적으로 제공해주고 있다.
frontend쪽에서 비밀번호를 받아서 서로 통신하도록 구현하는건 매우 비효율 적이고 보안 문제도 있다.
비밀번호를 중간에 탈취할 수 있는 문제, 인증에 대한 문제 등 따라서 서버측에서 다이렉트로 처리하는 편이 나을것이다.
로그인 기능은 이미 예시가 많아서, 넘어가고, 비밀번호 변경 기능에 대해서 이야기해보자~
docs.djangoproject.com/en/3.1/topics/auth/default/#django.contrib.auth.views.PasswordChangeView
기본적으로 비밀번호 변경, 로그인, 패스워드 리셋 기능에 대해 기본 폼은 django auth에 의해서 구현되어있다. 하지만 개인적인 스타일 적용을 위해서 html 폼을 오버라이드 하고 싶다면 아래와 같이 해주면된다.
tempaltes\registration\password_change_form.html
파일을 생성해주고 원하는 스타일을 적용해주면 된다.
그렇지 않은 경우 django auth system에 의해 제공되는 기본 폼이 적용되어진다.
crispy 폼을 적용하는 방법은 crispy form 패키지를 설치한 뒤 아래와 같이 html form 키워드 뒤에 || crispy만 붙여주면 된다. 아주 간단하다^^
{{ form|crispy }}
{{ form|crispy }}
템플릿 코드는 아래를 참고해서 적절하게 수정하면된다~
github.com/django/django/tree/master/django/contrib/admin/templates/registration
아래를 참고해서 페이지는 모두 구현할 필요는 없고, 패스워드 리셋을 어떻게 할것인지에 따라 구현하면된다.
learndjango.com/tutorials/django-password-reset-tutorial
내가 쓰는 장고버전은 구버전이라 아래 코드를 참고해서 템플릿 코드를 만들었음.
'IT' 카테고리의 다른 글
Vue global method 전역 함수 설정. for preventing javascript nested object null (0) | 2020.11.13 |
---|---|
django admin 기본 translation(18n) 메시지 위치 (0) | 2020.11.12 |
vue free flag icon 무료 국기 아이콘 (0) | 2020.11.07 |
html 상단에 메뉴바 고정 시키는 방법 (0) | 2020.11.07 |
Django unique_together 쓰지마세요~ (0) | 2020.11.06 |