Meme's IT

[Django] 게시판 만들기 - 삭제 본문

BackEnd/Django

[Django] 게시판 만들기 - 삭제

Memez 2023. 9. 26. 15:52

https://memezz.tistory.com/22과 이어집니다.

 

1. urls.pypath추가해주기

from django.urls import path
from . import views

urlpatterns = [
    # 전체 게시글 조회
    path('', views.index, name='index'),
    # 단일 게시글 조회
    path('<int:pk>/', views.detail, name='detail'),
    # 게시글 새로 쓰기
    path('new/',views.new, name='new'),
    path('create/', views.create, name='create'),
    # 지우기
    path('<int:pk>/delete/',views.delete, name='delete'),
]

 

 

2. views.py에 delete 함수 추가해주기

def delete(request,pk):
    article = Article.objects.get(pk=pk)
    article.delete()
    return redirect('index')

삭제도 삭제 후에 바로 전체글 페이지로 돌아가면 되므로 redirect 사용

 

 

삭제버튼을 각각의 글에서 확인하기 위해 

3. detail.html에서 삭제버튼 만들어주기

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>detail</title>
</head>
<body>
    <h2>Detail</h2>
    <h3>{{article.pk}}번째 글</h3>
    <hr>
    <p>제목: {{article.title}}</p>
    <p>내용: {{article.content}}</p>
    <hr>
    <form action="{% url "delete" article.pk %}" method="POST">
        {% csrf_token %}
        <input type="submit" value="지우기">
    </form>
    <a href="{% url "index" %}">뒤로가기</a>
</body>
</html>

지우기 버튼이 생긴것을 확인할 수 있다.