|
1 | 1 | from django.contrib.auth.decorators import login_required |
2 | 2 | from django.contrib.admin.views.decorators import staff_member_required |
3 | 3 | 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 |
5 | 5 |
|
6 | 6 | # Create your views here. |
7 | 7 | from .forms import BlogPostModelForm |
@@ -50,20 +50,24 @@ def blog_post_detail_view(request, slug): |
50 | 50 | context = {"object": obj} |
51 | 51 | return render(request, template_name, context) |
52 | 52 |
|
53 | | - |
| 53 | +@staff_member_required |
54 | 54 | def blog_post_update_view(request, slug): |
55 | 55 | obj = get_object_or_404(BlogPost, slug=slug) |
56 | 56 | form = BlogPostModelForm(request.POST or None, instance=obj) |
57 | 57 | if form.is_valid(): |
58 | 58 | form.save() |
59 | 59 | template_name = 'form.html' |
60 | | - context = {'form': form, "title": f"Update {obj.title}"} |
| 60 | + context = {"title": f"Update {obj.title}", "form": form} |
61 | 61 | return render(request, template_name, context) |
62 | 62 |
|
63 | 63 |
|
| 64 | +@staff_member_required |
64 | 65 | def blog_post_delete_view(request, slug): |
65 | 66 | obj = get_object_or_404(BlogPost, slug=slug) |
66 | 67 | template_name = 'blog/delete.html' |
| 68 | + if request.method == "POST": |
| 69 | + obj.delete() |
| 70 | + return redirect("/blog") |
67 | 71 | context = {"object": obj} |
68 | 72 | return render(request, template_name, context) |
69 | 73 |
|
|
0 commit comments