Ejemplo n.º 1
0
 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"})
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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))
Ejemplo n.º 7
0
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))