def submit_comment(request): comment_form = CommentFrom(request.POST, user=request.user) data = {} if comment_form.is_valid(): comment = Comment() comment.text = comment_form.cleaned_data['text'] comment.user = comment_form.cleaned_data['user'] comment.content_object = comment_form.cleaned_data['content_obj'] comment.object_id = comment_form.cleaned_data['object_id'] parent = comment_form.cleaned_data['parent'] if parent: comment.parent = parent comment.root = parent.root if parent.root else parent comment.reply_to = parent.user comment.save() data['status'] = 'SUCCESS' data['nickname'] = comment.user.nickname data['text'] = comment.text data['icon'] = comment.user.icon.url data['created_time'] = comment.created_time.strftime('%Y-%m-%d %H:%M:%S') data['reply_to'] = comment.reply_to.nickname if parent else '' data['id'] = comment.id data['root_id'] = comment.root.id if comment.root else None else: data['status'] = 'ERROR' data['message'] = '评论内容不能为空' return JsonResponse(data)
def update_comment(request): """更新评论视图函数""" referer = request.META.get('HTTP_REFERER', reverse('blog: index')) comment_form = CommentForm(request.POST, user=request.user) if comment_form.is_valid(): comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() # 发送站内通知 # 判断评论时博客还是 # if comment.reply_to is None: # # 接收者是文章 # recipient = comment.content_object.get_user() # if comment.content_type.model == 'post': # blog = comment.content_object # verb = '{0}评论了你的<<{1}>>'.format(comment.user, blog.title) # else: # raise Exception('不明评论') # else: # recipient = comment.reply_to # verb = '{0}评论类了你的评论{1}'.format(comment.user, strip_tags(comment.parent.text)) # notify.send(comment.user, recipient=recipient, verb=verb, action_object=comment) return redirect(referer + '$comment')
def update_comment(request): data = {} comment_form = CommentForm(request.POST, user=request.user) if comment_form.is_valid(): # 检查通过,保存数据 comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if parent: comment.root = parent.root if parent.root else parent comment.parent = parent comment.reply_to = parent.user comment.save() #评论/回复成功,返回数据 data['status'] = 'SUCCESS' data['username'] = comment.user.get_nickname_or_username() data['comment_time'] = comment.comment_time.strftime( '%Y-%m-%d %H:%M:%S') data['text'] = comment.text data['reply_to'] = comment.reply_to.get_nickname_or_username( ) if parent else None data['id'] = comment.id data['root_id'] = comment.root.id if parent else None data['content_type'] = ContentType.objects.get_for_model(comment).model # 评论/回复失败 else: data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): referer = request.META.get('HTTP_REFERER', reverse('home')) comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): # 检查通过,保存数据 comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() # 返回数据 data['status'] = 'SUCCESS' data['username'] = comment.user.username data['comment_time'] = comment.comment_time.timestamp() data['text'] = comment.text if not parent is None: data['reply_to'] = comment.reply_to.username else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if not comment.root is None else '' else: #return render(request, 'error.html', {'message': comment_form.errors, 'redirect_to': referer}) data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): referer = request.META.get('HTTP_REFERER', reverse('index')) comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() data['status'] = 'success' data['username'] = comment.user.username data['comment_time'] = comment.comment_time.strftime( '%Y-%m-%d %H:%M:%S') data['text'] = comment.text data['content_type'] = ContentType.objects.get_for_model(comment).model if not parent is None: data['reply_to'] = comment.reply_to.username else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if not comment.root is None else '' else: # return render(request, 'error.html', {'message': comment_form.errors,'redirect_to': referer}) data['status'] = 'error' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): refer = request.META.get('HTTP_REFERER', reverse('article:home')) form = CommentForms(request.POST) data = {} if form.is_valid(): aid = request.POST.get('aid') print("aid=", aid) comment = Comment() # comment = Us comment.name = form.cleaned_data['name'] comment.email = form.cleaned_data['email'] comment.article = Article.objects.get(id=aid) comment.context = form.cleaned_data['context'] parent_id = form.cleaned_data['parent_id'] if parent_id != -1: comment.parent = Comment.objects.get(id=parent_id) comment.save() # 返回的参数 data['status'] = 'success' data['username'] = request.user.username data['comment_time'] = comment.created_time.strftime( '%Y-%m-%d %H-%M-%S') data['text'] = comment.context data['commnet_id'] = comment.id print(data) else: data['status'] = 'Error' data['message'] = list(form.errors.values())[0][0] # 以Json的形式返回数据 return JsonResponse(data)
def update_comment(request): data = {} comment_form = CommentForm(request.POST, user=request.user) if comment_form.is_valid(): comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['model_obj'] parent = comment_form.cleaned_data['parent'] if parent is not None: comment.root = parent.root if parent.root is not None else parent comment.parent = parent comment.reply_to = parent.user comment.save() # 发送邮件通知 comment.send_email() data['status'] = 'SUCCESS' data['username'] = comment.user.get_nickname_or_username() data['comment_time'] = comment.comment_time.strftime( "%Y-%m-%d %H:%M:%S") data['text'] = comment.text data['content_type'] = ContentType.objects.get_for_model(comment).model if parent is not None: data['reply_to'] = comment.reply_to.get_nickname_or_username() else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if comment.root is not None else '' else: data['status'] = "ERROR" data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): referer = request.META.get('HTTP_REFERER', '/') # 从哪个页面过来的,前一个页面的链接 comment_form = CommentForm(request.POST, user=request.user) # 额外给Form类传值 data = {} if comment_form.is_valid(): object_id = comment_form.cleaned_data.get('object_id') comment_text = comment_form.cleaned_data.get('comment_text') content_type = comment_form.cleaned_data.get('content_type') content_object = comment_form.cleaned_data.get('content_object') user = comment_form.cleaned_data.get('user') parent = comment_form.cleaned_data.get('parent') if not parent is None: root = parent.root if not parent.root is None else parent reply_to = parent.user # reply_to记录的是父对象 else: root = None reply_to = None # conditions = { # "object_id": object_id, # "comment_content": comment_text, # "content_object": content_object, # "parent": parent, # "user": user, # "root": root, # "reply_to": reply_to, # } obj = Comment() obj.object_id = object_id obj.comment_content = comment_text obj.content_object = content_object obj.parent = parent obj.user = user obj.root = root obj.reply_to = reply_to obj.save() if parent is not None: data['reply_to'] = obj.reply_to.get_nickname_or_username() else: data['reply_to'] = '' data['status'] = 'success' data['pk'] = obj.id data['username'] = obj.user.get_nickname_or_username() data['created_time'] = obj.cteated_time.strftime("%Y-%m-%d %H:%M:%S") # 格式化datime对象 data['comment_content'] = obj.comment_content data['root_pk'] = obj.root_id if not obj.root is None else None data['content_type'] = ContentType.objects.get_for_model(obj).model else: data['status'] = 'failed' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): # if not request.user.is_authenticated: # return HttpResponse('未登录') # text = request.POST.get('text', '').strip() # if text == '': # return HttpResponse('不能为空') # try: # content_type = request.POST.get('content_type', '') # object_id = int(request.POST.get('object_id', '')) # model_class = ContentType.objects.get(model=content_type).model_class() # model_obj = model_class.objects.get(id=object_id) # except Exception as e: # return HttpResponse('出错') # comment = Comment() # comment.user = request.user.userprofile # comment.text = text # comment.content_object = model_obj # comment.save() # referer = request.META.get('HTTP_REFERER', '/') # return redirect(referer) referer = request.META.get('HTTP_REFERER', '/') data = {} comment_form = CommentForm(request.POST, user=request.user) if comment_form.is_valid(): comment = Comment() comment.user = request.user.userprofile comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if parent is not None: comment.root = parent.root if parent.root is not None else parent comment.parent = parent comment.reply_to = parent.user comment.save() data['status'] = 'SUCCESS' data['user_name'] = comment.user.name data['user_head'] = str(comment.user.image) data['comment_time'] = comment.comment_time.strftime('%Y-%m-%d %H:%M') data['text'] = comment.text data['content_type'] = ContentType.objects.get_for_model(comment).model if parent is not None: data['reply_to'] = comment.reply_to.name else: data['reply_to'] = '' data['pk'] = comment.id data['root_pk'] = comment.root.id if comment.root is not None else '' else: data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def create_comment(request): parent_id = request.POST['parent'] try: if parent_id == "0": parent = None else: parent = Comment.objects.get(id=parent_id) comment = Comment() comment.parent = parent comment.text = request.POST['text'] comment.save() except: raise Http404 return comment.id
def update_comment(request): comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): # 检查保存数据 comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.Content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if parent: comment.root = parent.root if parent.root else parent comment.parent = parent comment.reply_to = parent.user comment.save() data['status'] = 'SUCCESS' else: data['status'] = 'ERROR' # print(data) return JsonResponse(data)
def update_comment(request): comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): # 检查文本框输入的数据是否有效 # 检查数据,保存数据,实例化一个comment对象 comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() #发送邮件通知 comment.send_email() data['username'] = request.user.get_nickname_or_username() data['comment_time'] = comment.content_time.timestamp( ) #从格林威治时间1970/1/1/00时00分//00秒开始算 data['text'] = comment.text data['status'] = 'Success' if not parent is None: data['reply_to'] = comment.reply_to.get_nickname_or_username() else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if not comment.root is None else '' else: data['status'] = 'Error' data['message'] = list(comment_form.errors.values())[0][0] # return render(request, 'error.html', {'message': comment_form.errors, 'redirect_to': referer}) return JsonResponse(data)
def update_comment(request): referer = request.META.get('HTTP_REFERER', reverse('home')) comment_form = CommentForm(request.POST, user=request.user) data = dict() if comment_form.is_valid(): # 通过验证,保存数据 comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if parent: comment.root = parent.root if parent.root else parent comment.parent = parent comment.reply_to = parent.user comment.save() # 返回数据 data['status'] = 'SUCCESS' data['username'] = comment.user.get_nickname_or_username() data['comment_time'] = comment.comment_time.strftime( '%Y-%m-%d %H:%M:%S') data['text'] = comment.text if parent: data['reply_to'] = comment.reply_to.get_nickname_or_username() else: data['reply_to'] = '' data['id'] = comment.id data['root_id'] = comment.root.id if comment.root else '' else: # return render(request, 'error.html', {'message': comment_form.errors, 'referer': referer}) data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): '''referer = request.META.get('HTTP_REFERER', reverse('home')) user = request.user if not user.is_authenticated: return render(request, 'error.html', {'message': '用户未登录', 'redirect_to': referer}) text = request.POST.get('text', '').strip() if text == '': return render(request, 'error.html', {'message': '评论内容为空', 'redirect_to': referer}) try: content_type = request.POST.get('content_type', '') object_id = int(request.POST.get('object_id', '')) model_class = ContentType.objects.get(model=content_type).model_class() model_obj = model_class.objects.get(pk=object_id) except Exception as e: return render(request, 'error.html', {'message': '评论对象不存在', 'redirect_to': referer}) comment = Comment() comment.user = user comment.text = text comment.content_object = model_obj comment.save() return redirect(referer)''' referer = request.META.get('HTTP_REFERER', reverse('home')) # if not request.user.is_authenticated: # return render(request, 'error.html', {'message': '用户未登录', 'redirect_to': referer}) comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() # 发送邮件通知 comment.send_email() # 返回数据 data['status'] = 'SUCCESS' data['username'] = comment.user.get_nickname_or_username() data['comment_time'] = comment.comment_time.strftime( '%Y-%m-%d %H:%M:%S') data['text'] = comment.text data['content_type'] = ContentType.objects.get_for_model(comment).model if not parent is None: data['reply_to'] = comment.reply_to.get_nickname_or_username() else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if not comment.root is None else '' else: # return render(request, 'error.html', {'message': comment_form.errors, 'redirect_to': referer}) data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)
def update_comment(request): """# 发送此请求的网站 referer = request.META.get('HTTP_REFERER', reverse('home')) # 数据检查 if not request.user.is_authenticated: return render(request, 'error.html', {'message': '用户未登录', 'redirect_to': referer}) text = request.POST.get('text', '').strip() if text == '': return render(request, 'error.html', {'message': '评论内容为空', 'redirect_to': referer}) try: content_type = request.POST.get('content_type', '') object_id = int(request.POST.get('object_id', '')) model_class = ContentType.objects.get(model=content_type).model_class() model_obj = model_class.objects.get(pk=object_id) except Exception as e: return render(request, 'error.html', {'message': '评论对象不存在', 'redirect_to': referer}) # 检查通过,保存数据 comment = Comment() comment.user = request.user comment.text = text comment.content_object = model_obj comment.save() return redirect(referer)""" # 发送此请求的网站 referer = request.META.get('HTTP_REFERER', reverse('home')) comment_form = CommentForm(request.POST, user=request.user) if comment_form.is_valid(): # 检查通过,保存数据 comment = Comment() comment.user = comment_form.cleaned_data.get('user') comment.text = comment_form.cleaned_data.get('text') comment.content_object = comment_form.cleaned_data.get( 'content_object') parent = comment_form.cleaned_data.get('parent') if parent is not None: comment.parent = parent comment.root = parent.root if parent.parent is not None else parent comment.reply_to = parent.user comment.save() # 返回数据 data = { 'status': 'success', 'username': comment.user.get_nickname_or_username(), 'comment_time': comment.comment_time.strftime('%Y-%m-%d %H:%M:%S'), 'text': comment.text, 'content_type': ContentType.objects.get_for_model(comment).model, 'reply_to': comment.reply_to.get_nickname_or_username() if parent is not None else '', 'pk': comment.pk, 'root_pk': comment.root.pk if comment.root is not None else '' } # return redirect(referer) else: # return render(request, 'error.html', {'message': comment_form.errors, 'redirect_to': referer}) data = { 'status': 'error', 'message': list(comment_form.errors.values())[0][0] } return JsonResponse(data)
def update_comment(request): # # 检查数据 # if not request.user.is_authenticated: # return render(request,'error.html',{'message':'用户未登陆','redirect_to':referer}) # text = request.POST.get('text', '').strip() # if text == '': # return render(request,'error.html',{'message':'评论内容为空','redirect_to':referer}) # try: # # content_type = request.POST.get('content_type','') # object_id = int(request.POST.get('object_id','')) # model_class = ContentType.objects.get(model=content_type).model_class() # model_obj = model_class.objects.get(pk=object_id) # except Exception as e: # return render(request,'error.html',{'message':'评论对象不存在','redirect_to':referer}) # # 检查通过,保存数据 # comment = Comment() # comment.user = request.user # comment.text = text # comment.content_object = model_obj # comment.save() # # return redirect(referer) referer = request.META.get('HTTP_REFERER', reverse('article:index')) if not request.user.is_authenticated: return render(request, 'error.html', { 'message': '用户未登陆', 'redirect_to': referer }) comment_form = CommentForm(request.POST, user=request.user) data = {} if comment_form.is_valid(): comment = Comment() comment.user = comment_form.cleaned_data['user'] comment.text = comment_form.cleaned_data['text'] comment.content_object = comment_form.cleaned_data['content_object'] parent = comment_form.cleaned_data['parent'] if not parent is None: comment.root = parent.root if not parent.root is None else parent comment.parent = parent comment.reply_to = parent.user comment.save() data['status'] = 'SUCCESS' data['username'] = comment.user.username data['comment_time'] = comment.comment_time.date() data['text'] = comment.text if not parent is None: data['reply_to'] = comment.reply_to.username else: data['reply_to'] = '' data['pk'] = comment.pk data['root_pk'] = comment.root.pk if not comment.root is None else '' else: # return render(request, 'error.html', {'message': comment_form.errors, 'redirect_to': referer}) data['status'] = 'ERROR' data['message'] = list(comment_form.errors.values())[0][0] return JsonResponse(data)