본문 바로가기
수업(국비지원)/Django

[Django] 회원탈퇴

by byeolsub 2023. 4. 27.

 📌 views.py 추가부분

def delete(request,id) :
    try:
        login = request.session["login"]
    except:
        context = {"msg":"로그인하세요","url":"../../login"}
        return render(request,"alert.html",context)
    else :
        context = {"msg" : "본인만 가능합니다.",\\
                   "url":"../../main"}
        return render(request,"alert.html",context)

def delete_rtn(request,id) :
    if request.method !="POST" :
        member = Member.object.get(id=id)
        return render(request,"member/delete.html",{"id":id})
    else :
        return render(request,"member/delete.html",{"id":id})
  • delete 수정부분 변천사1
def delete_rtn(request,id) :
    if request.method !="POST" :
        member = Member.object.get(id=id)
        return render(request,"member/delete.html",{"id":id})
    else :
      #  return render(request,"member/delete.html",{"id":id})
      login = request.session["login"]
      member = Member.objects.get(id=login)
      if member.pass1 == request.POST["pass"] :
          mem = Member.objects.get(id=id)
          mem.delete()
          if id == login : #본인탈퇴
              auth.logout(request) #로그아웃
              context={"msg":"탈퇴완료","url":"../../login/"}
              return render(request,"alert.html",context)
          else : #관리자 강제탈퇴
              return HttpResponseRedirect("../../list/")
      else : #비밀번호 불일치
          context={"msg":"비밀번호 오류",\\
                 "url":"../../delete/"+id+"/"}
          return render(request,"alert.html,context")

📌 views.py list 추가부분

def list(request) :
    try :
        login = request.session["login"] 
    except:
        context = {"msg":"로그인하세요","url":"../../login"}
        return render(request,"alert.html",context)
    else :
        if login != "admin" : #request가 else대신.else없지만 request만나면 종료 
            context = {"msg" : "관리자만 가능합니다.",\\
                       "url":"../../main"}
            return render(request,"alert.html",context)
        #mlist 요소 : member 객체
        mlist = Member.objects.all()
        return render(request,"member/list.html",{"mlist":mlist})

📌 list.html

{% extends "base1.html" %}
{% block content %}
<table class="w3-table-all w3-border"><caption>회원 목록</caption>
<tr class=""><th>아이디</th><th>사진</th><th>이름</th><th>성별</th>
<th>전화</th><th>이메일</th><th>&nbsp;</th></tr>
{% for m in mlist %}  {# mlist 리스트 객체 반복문 #}
<tr><td><a href="../info/{{m.id}}/">{{m.id}}</a></td>
<td><img src="/file/picture/{{m.picture}}" width="20" height="30"></td>
<td>{{m.name}}</td><td>
      {% if m.gender == 1 %}
        남
     {% else %}
        여
     {% endif %}
 </td>
<td>{{m.tel}}</td><td>{{m.email}}</td>
<td><a href="../update/{{m.id}}/">[수정]</a>
{% if m.id != 'admin' %}
<a href="../delete/{{m.id}}/">[강제탈퇴]</a>
{% endif %}
</td></tr>
{% endfor %} {#for 반복문 종료 #}
</table>
{% endblock content %}

 

'수업(국비지원) > Django' 카테고리의 다른 글

[Django] 비밀번호 수정  (0) 2023.04.27
[Django] 파일 업로드  (0) 2023.04.27
[Django] 회원가입, 로그아웃, 업데이트  (0) 2023.04.27
[Django] main페이지 생성  (0) 2023.04.27
[Django] 이미지 연동  (0) 2023.04.27