示例#1
0
文件: views.py 项目: Dimkashow/TP-WEB
def ajax_like(request):
    try:
        qid = int(request.POST.get("id"))
    except TypeError:
        return JsonResponse(dict())

    type_ = request.POST.get("type")
    if type_ == "question":
        object_class = Question
    elif type_ == "answer":
        object_class = Answer
    else:
        return JsonResponse(dict())

    object_ = get_object_or_404(object_class, id=qid)
    if object_.likes.filter(user=request.user).count() == 0:
        like = Like(user=request.user,
                    content_object=object_class.objects.get(id=qid))
        like.save()
        object_.likes_count += 1
        object_.save()
    else:
        object_.likes.filter(user=request.user).delete()
        object_.likes_count -= 1

    object_.save()

    return JsonResponse({
        "likes_count": object_.likes_count,
    })
示例#2
0
def like(id):
    get_likes = Like.get_likes(id)
    valid_string = f'{current_user.id}:{id}'
    for like in get_likes:
        to_str = f'{like}'
        if valid_string == to_str:
            return redirect(url_for('main.blogs', id=id))
        else:
            continue
    new_vote = Like(user=current_user, blog_id=id)
    new_vote.save()
    return redirect(url_for('main.blogs', id=id))
示例#3
0
    def post_likes():
        if request.method == 'POST':  # POST method
            likes = Like.get_all()
            user_id = request.args.get('user_id')
            event_id = request.args.get('event_id')

            for like in likes:
                if like.user_id == user_id and like.event_id == event_id:
                    Response = jsonify({'message': 'Like already in db'})
                    Response.status_code = 200
                    return Response

            if user_id and event_id:
                like = Like(user_id=user_id, event_id=event_id)
                like.save()

                Response = jsonify({
                    'id': like.id,
                    'user_id': like.user_id,
                    'event_id': like.event_id
                })
                Response.status_code = 201
                return Response
示例#4
0
    print post_user

    db_post = Post(description=post["description"], creation_date=datetime.datetime.now(), user=post_user, picture=None)

    picture_path = "post_pictures/%s" % path_leaf(post["picture"])

    post_picture = open("instagram/media/" + picture_path, "r")

    db_post.picture.save(picture_path, File(post_picture))

    db_post.save()

    likes = post["likes"]
    for like in likes:
        db_like = Like()
        db_like.user = InstagramUser.objects.filter(username=like)[0]
        db_like.post = db_post
        db_like.save()

    comments = post["comments"]
    for comment in comments:
        comment_user = InstagramUser.objects.filter(username=comment["user"])[0]
        db_comment = Comment()
        db_comment.comment = comment["comment"]
        db_comment.creation_date = datetime.datetime.now()
        db_comment.user = comment_user
        db_comment.post = db_post
        db_comment.save()

posts_file.close()