Python/Django Framework

[Python Django] 2-6. FBV Delete 구현하기

Jake the Dog 2022. 3. 26. 09:33
반응형

간단하게 페이지에 접근하면 현재 로그인한 회원을 정보를 삭제하는 프로세스를 만들어보겠다.
Board 모델에서 ForiegnKey로 연결할때 on_delete=CASCADE 설정을 해두었기 때문에 유저가 삭제되면 게시글이 삭제된다.

view.py

# 회원 탈퇴기능. 자신의 회원 정보를 삭제한다.
# board에 on_delete를 CASCADE로 설정하였기 때문에 유저를 삭제하면 게시글도 삭제된다.
def delete(request):
    user_id = request.session.get('user_id')
    if not user_id:
        return redirect("/user/login")
    else:
        try:
            user = User.objects.get(pk=user_id)
            user.delete()
            return redirect("/user/list")
        except User.DoesNotExist:
            return redirect("/user/login")

urls.py

urlpatterns = [
    path('detail/', views.detail),
    path('create/', views.create),
    path('update/', views.update),
    path('login/', views.login),
    path('logout/', views.logout),
    path('list/', views.list),
    path('delete/', views.delete)
]
반응형