User
객체를Create
하는 과정
ModelForm
회원 가입 페이지 작성 |
---|
회원가입 로직 에러가 뜰 것임! -> 회원가입에 사용하는 UserCreationForm이 우리가 대체한 커스텀 유저모델이 아닌 기존 유저모델로 인해 작성된 클래스이기 때문에! |
UserCreationForm
&UserChangeForm
두 Form 모두
class Meta:model = user
가 작성된 Form
새로운 회원 가집 로직 작성 |
---|
커스텀 form 적용 |
---|
active user model
)을 반환하는 함수User모델을 직접참조하지 않는 이유
- get_user_mode()을 사용해 User모델을 참조하면 커스텀 User모델을 자동으로 반환해주기 대문
- Django 는 User 클래스를 직접 참조하는 대신 get_user_model()을 사용해 참조해야 한다고 필수적으로 강조하고 있음
-> User model 참조에 대한 자세한 내용은 추후 모델 관계에서 다룰 예정
User
객체를Delete
하는 과정
회원 탈퇴 로직 작성 |
---|
User
객체를Update
하는 과정
ModelForm
회원정보 수정 페이지 작성 |
---|
UserChangeForm 사용 시 문제점
- User 모델의 모든 정보들(fields)까지 모두 출력되어 수정이 가능하기 뗴문에 일반 사용자들이 접근해서는 안되는 정보는 출력하지 않도록 해야함
- CustomUserChangeForm에서 접근 가능한 필드를 조정해야 한다!
인증된 사용자의
Session
데이터를Update
하는 과정
Form
django는 비밀번호 변경 페이지를 회원정보 수정 form에서 별도 주소로 안내
/user_pk/password/
비밀번호 변경 페이지 작성 |
---|
로그인과 비로그인 상태에서 화면에 출력되는 링크를 다르게 설정하기 |
---|
인증된 사용자라면 로그인/회원가입 로직을 수행할 수 없도록 하기 |
---|
login_required
- 인증된 사용자에 대해서면 view함수를 실행시키는 데코레이터
- 비인증 사용자의 경우
/accounts/login/
주소로redirect
시킴
인증된 사용자만 게시글을 작성/수정/삭제 할 수 있도록 수정 |
---|
인증된 사용자만 로그아웃/탈퇴/수정/비밀번호 변경 할 수 있도록 수정 |
---|
탈퇴와 함께 기존 사용자의 Session Data 삭제 방법
- 사용자 객체 삭제 이후 로그아웃 함수 호출
- 단, "
탈퇴(1)
후로그아웃(2)
" 의 순서가 바뀌면 안돼!- 로그아웃이 먼저 진행되면 해당 요청 객체 정보가 없어지기 때문에 탈퇴에 필요한 유저 정보 또한 없어지기 때문