def new(request, post_id): try: post = Post.objects.get(pk=post_id) except Post.DoesNotExist: raise Http404 if request.method == "POST": form = CommentCreationForm(request.POST, initial={'post': post}) if form.is_valid(): comment = form.save(request.user) return HttpResponseRedirect(reverse('posts.views.show', args=[post.pk])) else: form = CommentCreationForm(initial={'post': post}) return render(request, 'comments/new.html', { 'form': form, 'post': post })
def edit(request, comment_id): try: comment = Comment.objects.get(pk=comment_id) except Comment.DoesNotExist: raise Http404 if not request.user.is_staff or comment.created_by != request.user: return HttpResponseRedirect(reverse('posts.views.show', args=[comment.post.pk])) if request.method == "POST": form = CommentCreationForm(request.POST, instance=comment) if form.is_valid(): comment = form.save(request.user) return HttpResponseRedirect(reverse('posts.views.show', args=[comment.post.pk])) else: form = CommentCreationForm(instance=comment) return render(request, 'comments/edit.html', { 'form': form })