본문 바로가기
Django

[Django] DB 가져와서 CRUD(5) - 데이터 삭제하기(D)

by 기록하는_사람 2022. 12. 19.

데이터 삭제하기

📌 상세 페이지에 삭제 버튼 추가

① detail.html에 버튼 생성

(detail.html)

<h1>DETAIL PAGE</h1>

<h3>{{ b.name }}</h3>
<b>지은이</b><input type="text" value="{{ b.writer }}" disabled><br><br>
<b>조회수</b><input type="text" value="{{ b.hit }}" disabled><br><br>
<b>내용</b><br><textarea cols="80" rows="8" disabled>{{ b.content }}</textarea><br><br>

<a href="{% url 'index' %}"><button>HOME</button></a>
<a href="{% url 'delete' b.id %}"><button>DEL</button></a>

 

② urls.py에 path 추가

(books/urls.py)

from django.urls import path
from . import views

urlpatterns = [
    path('index/', views.index, name="index"),
    path('detail/<bpk>', views.detail, name="detail"),
    path('delete/<bpk>', views.delete, name="delete")
]

 

③ views.py에 함수 추가 

(books/views.py)

from django.shortcuts import render, redirect
from .models import Books

# Create your views here.
...

def delete(request, bpk):
    b = Books.objects.get(id=bpk)
    b.delete()
    return redirect("index")

 

데이터 삭제하기 - 결과

📌 데이터 삭제하기

댓글