def like(self, request, pk=None): if len( Like.objects.filter(user_id=request.user.id, post_id=self.get_object().id)) > 0: return response.Response({"status": "post is already liked"}) like = Like(user_id=request.user, post_id=self.get_object()) like.save() return response.Response({"status": "post liked"})
def validate_like_article(article_id, user): article = Article.objects.get(id=article_id) try: like = Like(user_id=user, article_id=article) like.save() new_like_count = get_total_like_for_article(article.id) return True, new_like_count except ValidationError as e: error = str(e) return False, error
def deletePostlist(postid, host): try: if session.get('username') != host: return render_template('notlogin.html') else: try: #delete post sql_del = 'DELETE FROM message WHERE message_id = %s;' parm_del = (postid, ) Post().set_Post(sql_del, parm_del) #udate the number of post sql_update = 'UPDATE users SET postnum = postnum - 1 WHERE user_name = %s;' parm = (host, ) User().set_User(sql_update, parm) #delete the like of post sql_del1 = 'DELETE FROM likes WHERE message_id = %s;' parm_del1 = (postid, ) Like().del_Like(sql_del1, parm_del1) #delete comments of post sql_del2 = 'DELETE FROM comment WHERE message_id = %s;' parm_del2 = (postid, ) Comment().set_Comment(sql_del2, parm_del2) except: conn = connect_db() conn.rollback() conn.close() traceback.print_exc() return render_template('error1.html') return redirect(url_for('postlist', host=host)) except: traceback.print_exc() return render_template('error.html')
def like(postid, host): if session.get('username') != host: return render_template('notlogin.html') else: # 查找当前用户ID print(postid, host) sql = 'SELECT * FROM users WHERE user_name = %s;' parm = (host, ) rows = User().get_User(sql, parm) hostid = rows[0] # 如果用户没有点过赞,那么添加一条点赞 sql_search = 'SELECT * FROM likes WHERE message_id = %s AND user_id = %s;' parm = (postid, hostid) result = Like().get_Like(sql_search, parm) if result is not None: # 对应post点赞数-1 sql1 = 'SELECT * FROM message WHERE message_id = %s;' parm1 = (postid, ) rows = Post().get_Post(sql1, parm1) likenum = rows[4] likenew = likenum - 1 # 更新点赞数的值 sql2 = 'UPDATE message SET message_likenum = %s WHERE message_id = %s;' parm2 = (likenew, postid) Post().set_Post(sql2, parm2) # 删除点赞信息 sql_del = 'DELETE FROM likes WHERE message_id = %s and user_id = %s;' parm_del = (postid, hostid) Like().del_Like(sql_del, parm_del) return redirect(url_for('home', host=host)) else: sql_add = 'INSERT INTO likes (message_id,user_id) VALUES (%s,%s);' parm_add = (postid, hostid) Like().add_Like(sql_add, parm_add) # 对应post点赞数+1 sql1 = 'SELECT * FROM message WHERE message_id = %s;' parm1 = (postid, ) rows = Post().get_Post(sql1, parm1) likenum = rows[4] likenew = likenum + 1 # 更新点赞数的值 sql2 = 'UPDATE message SET message_likenum = %s WHERE message_id = %s;' parm2 = (likenew, postid) Post().set_Post(sql2, parm2) return redirect(url_for('home', host=host))
def like(request, post_id): post = Post.objects.filter(post_id = post_id) if not request.user.is_authenticated: link = '//127.0.0.1:8000/main/' + str(post_id) return redirect(link) else: if request.method == "POST": post = Post.objects.get(post_id = post_id) likes = Like.objects.filter(user = request.user, post = post_id) if likes.exists() : link = '//127.0.0.1:8000/main/' + str(post_id) return redirect(link) else: like = Like(post = post, user = request.user) like.save() post.likes = post.likes+1 post.save() link = '//127.0.0.1:8000/main/' + str(post_id) return redirect(link)
def deletePostlist(postid, host): #delete post sql_del = 'DELETE FROM message WHERE message_id = %s;' parm_del = (postid, ) Post().set_Post(sql_del, parm_del) #udate the number of post sql_update = 'UPDATE users SET postnum = postnum - 1 WHERE user_name = %s;' parm = (host, ) User().set_User(sql_update, parm) #delete the like of post sql_del1 = 'DELETE FROM likes WHERE message_id = %s;' parm_del1 = (postid, ) Like().del_Like(sql_del1, parm_del1) #delete comments of post sql_del2 = 'DELETE FROM comment WHERE message_id = %s;' parm_del2 = (postid, ) Comment().set_Comment(sql_del2, parm_del2) return redirect(url_for('postlist', host=host))
def deletePost(postid, host): if session.get('username') != host: return render_template('notlogin.html') else: # delete post sql_del = 'DELETE FROM message WHERE message_id = %s;' parm_del = (postid, ) Post().set_Post(sql_del, parm_del) # udate the number of post sql_update = 'UPDATE users SET postnum = postnum - 1 WHERE user_name = %s;' parm = (host, ) User().set_User(sql_update, parm) # delete the like of post sql_del1 = 'DELETE FROM likes WHERE message_id = %s;' parm_del1 = (postid, ) Like().del_Like(sql_del1, parm_del1) # delete comments of post sql_del2 = 'DELETE FROM comment WHERE message_id = %s;' parm_del2 = (postid, ) Comment().set_Comment(sql_del2, parm_del2) return redirect(url_for('home', host=host))