2022년 12월 25일 일요일(장고 회원정보수정,탈퇴)
url을통해
update와 delete가 요청되어
views.py로 넘겨준다.
넘겨줄때, <str:id>값을 함께 넘겨준다.
1.update(수정)
update함수가 실행된다
84-89행
update함수는 request객체와 id를 매개변수로 가진다.
login변수에 session에 등록된 로그인정보를 저장해준다.
로그아웃상태라면,
msg:로그인하세요,url:login으로 보내주는 url정보를가진 정보를 저장하여
alert.html로 보내준다.
90행-92행
로그인이된경우(본인or관리자)
update_rtn함수를 실행시킨다.
93-95행
본인이아닌경우는
msg:본인만 조회가능합니다, url:main으로 보내주는 url정보를가지고
alert.html로 보내준다.
97행-100행
update_rtn(request,id)
member변수에는 현재 로그인된아이디와 같은 아이디정보를 담고있다.
get방식일때는
뷰단만 출력해준다.
mem변수에는 member 즉
로그인된 정보가 담긴다.
▼결과▼
101행-117행
POST방식일때
입력된비밀번호=DB에 등록된 비밀번호
같을경우
DB에 내용을
member의 내용으로 수정해준다.
member.save()
->DB에값이없다면, insert, 있다면 update구문을 실행시켜준다고 생각하면된다.
수정이완료되면
info페이지로 아이디값을 가지고 이동한다.
118행-120행
비밀번호가 같지않을경우
msg:비밀번호오류, url: update페이지로 아이디값을가지고
이동하게 해준다.
2.delete(탈퇴)
urls.py를 통해 delete함수가 실행된다.
123-128행
login 변수에 로그인정보를 저장해준다.
로그인상태가 아니라면
msg:로그인하세요 ,url:login페이지로 경로를 저장하여
alert.html페이지로 보내준다.
▼▼▼▼
129-131행
본인이 로그인한경우 이거나 관리자인경우
delete_rtn함수가 실행된다.
132-134행
본인이 아닌경우
msg:본인만 탈퇴 가능합니다, url:main페이지경로를 저장하여
alert.html페이지로 이동시켜준다.
137행-139행
GET방식일때,
뷰단만 화면에 출력시켜주면된다.
140행-145행
login변수에 현재로그인된정보를,
member변수에 DB에서 로그인된정보와 일치하는 정보들을 저장해준다.
if문에서
member.pass1(DB의 비밀번호) =request.POST["pass"](입력비밀번호)가
같다면
mem변수에 DB에저장된 id값에 해당하는 정보들을 삭제해준다.
146행-149행
본인이 탈퇴하는 경우
auth.logout(request)함수를 통해 로그아웃을 해주고
msg:탈퇴완료,url:login페이지 경로를 설정하여
alert.html로 보내준다.
150-151행
관리자 탈퇴인경우
회원목록페이지로 이동시켜준다.
152-154행
비밀번호가 불일치한 경우
msg:비밀번호오류, url:delete페이지+id정보값을 가진경로를
alert.html페이지로 이동시켜준다.