def details_post(request, slug): instance = Post.objects.get(slug=slug) comments = instance.get_comment print(get_read_time(instance.get_markdown())) initial_data = { "content_type": instance.get_content_type, "object_id": instance.id } form = CommentForm(initial=initial_data) if request.method == "POST": form = CommentForm(request.POST or None, initial=initial_data) if form.is_valid(): print('yes') c_type = form.cleaned_data.get("content_type") print(c_type) content_type = ContentType.objects.get(model=c_type) print(content_type) obj_id = form.cleaned_data.get("object_id") print(obj_id) content_data = form.cleaned_data.get("content") #print(content_data) ##replies parent_obj = None try: parent_id = int(request.POST.get("parent_id")) except: parent_id = None if parent_id: parent_qs = Comments.objects.filter(id=parent_id) if parent_qs.exists(): parent_obj = parent_qs.first() new_comment, created = Comments.objects.get_or_create( user=request.user, content_type=content_type, object_id=obj_id, content=content_data, parent=parent_obj, ) return HttpResponseRedirect( new_comment.content_object.get_absoulte_url()) context = {"posts": instance, "comments": comments, "form": form} return render(request, 'details.html', context)
def comment_thread(request,id): obj = Comments.objects.get(id=id) try: obj = Comments.objects.get(id=id) except: raise Http404 if not obj.is_parent: obj = obj.parent initial_data = { "content_type": obj.content_type, "object_id":obj.id } form = CommentForm(initial=initial_data) if request.method =="POST": form = CommentForm(request.POST or None,initial=initial_data) if form.is_valid(): c_type = form.cleaned_data.get("content_type") content_type = ContentType.objects.get_for_model(obj) obj_id = form.cleaned_data.get("object_id") content_data = form.cleaned_data.get("content") parent_obj = None try: parent_id = int(request.POST.get("parent_id")) except: parent_id = None if parent_id: parent_qs = Comments.objects.filter(id=parent_id) if parent_qs.exists() : parent_obj = parent_qs.first() new_comment,created = Comments.objects.get_or_create( user = request.user, content_type=content_type, object_id= obj_id, content = content_data, parent = parent_obj, ) return HttpResponseRedirect(new_comment.content_object.get_absoulte_url()) context = { "comment":obj, 'form':form } return render(request,"comment_thread.html",context)