def getArticle(request, name): try: art = Article.objects.get(title=name) try: com = Comment.objects.filter(Article=art) except: com = None except Exception: raise Http404 context = {'Article': art, 'Comments': com, 'Form': commentForm()} context.update(csrf(request)) if request.method == 'POST': form = commentForm(request.POST) if form.is_valid(): titre = form.cleaned_data['title'] content = form.cleaned_data['content'] author = form.cleaned_data['author'] email = form.cleaned_data['authorEmail'] Comment(title=titre, Article=art, content=content, author=author, authorEmail=email).save() else: context['error'] = True return custom_render('article.html', context)
def addComment(request, pk): post = get_object_or_404(Post, pk=pk) if request.method == 'POST': form = commentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) comment.post = post comment.save() return redirect('postDetail', pk=post.pk) else: form = commentForm() return render(request, 'blog/comment_form.html', {'form': form})
def add_comment_to_post( request, pk): #pk primary key that links comment to the actual post post = get_object_or_404(Post, pk=pk) if request.method == 'POST': # if somoeone writes a post then if it is valid ... form = commentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) comment.post = post comment.save() return redirect('post_detail', pk=post.pk) else: form = commentForm() return render(request, 'blog/comment_form.html', {'form': form})
def blog_detail(request, pk): post = Post.objects.get(pk=pk) form = commentForm() if request.method == 'POST': form = commentForm(request.POST) if form.is_valid(): comment = Comment(author=form.cleaned_data['author'], body=form.cleaned_data['body'], post=post) comment.save() comments = Comment.objects.filter(post=post) context = { 'post': post, 'comments': comments, 'form': form, } return render(request, 'blog_detail.html', context)
def post(request, slug): #get the post object post = get_object_or_404(Post, slug=slug) comments = Comment.objects.filter(slug=post) #return the rendered template if request.method == 'POST': form = commentForm(request.POST) if form.is_valid(): #process data here form_to_save = form.save(commit=False) post = get_object_or_404(Post, slug=slug) form_to_save.slug = post form_to_save.save() return HttpResponseRedirect('/') else: form = commentForm() return render(request, 'post.html', { 'post': post, 'form': form, 'comments': comments })