Skip to content

Commit bd64128

Browse files
43 - Delete and Confirm
1 parent 8db9a12 commit bd64128

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/blog/templates/blog/delete.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33

44
{% block content %}
55

6-
<h1>{{ object.title }} - Delete</h1>
7-
<p>{{ object.content }}</p>
6+
<h1>Are you sure you want to delete the following:</h1>
7+
<p> {{ object.title }}</p>
8+
9+
<form method='POST' >{% csrf_token %}
10+
11+
<button class='btn btn-danger'>Yes, delete</button>
12+
13+
</form>
814
{% endblock %}

src/blog/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.contrib.auth.decorators import login_required
22
from django.contrib.admin.views.decorators import staff_member_required
33
from django.http import Http404
4-
from django.shortcuts import render, get_object_or_404
4+
from django.shortcuts import render, get_object_or_404, redirect
55

66
# Create your views here.
77
from .forms import BlogPostModelForm
@@ -50,20 +50,24 @@ def blog_post_detail_view(request, slug):
5050
context = {"object": obj}
5151
return render(request, template_name, context)
5252

53-
53+
@staff_member_required
5454
def blog_post_update_view(request, slug):
5555
obj = get_object_or_404(BlogPost, slug=slug)
5656
form = BlogPostModelForm(request.POST or None, instance=obj)
5757
if form.is_valid():
5858
form.save()
5959
template_name = 'form.html'
60-
context = {'form': form, "title": f"Update {obj.title}"}
60+
context = {"title": f"Update {obj.title}", "form": form}
6161
return render(request, template_name, context)
6262

6363

64+
@staff_member_required
6465
def blog_post_delete_view(request, slug):
6566
obj = get_object_or_404(BlogPost, slug=slug)
6667
template_name = 'blog/delete.html'
68+
if request.method == "POST":
69+
obj.delete()
70+
return redirect("/blog")
6771
context = {"object": obj}
6872
return render(request, template_name, context)
6973

0 commit comments

Comments
 (0)