def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) like.save() result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') # 先拿到被like了的post的pk post = Post.objects.get(pk=post_pk) # 由pk找到Post中那个object try: like = Like(post=post, user=request.user) # 用当前的post和user创建一个like的对象 like.save() # 把刚刚创建的对象存入数据库中;如果这个对象已经存在,跳到下面的exception result = 1 except Exception as e: # 已经点过的like再被点,说明要取消这个like,所以从数据库中删除 like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) # save function may fail since we have defined unique_together in Like Model(models.py) like.save() result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) like.save() result = 1 # because the existing of like, it now cancelles previous likes except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) # save the like into the database like.save() result = 1 except Exception as e: # if the like already exist, delete this action like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 # return json with result return {'result': result, 'post_pk': post_pk}
def addLike(request): #拿到post_id,post_pk是从index.js中传过来的key post_pk = request.POST.get('post_pk') #根据post_id拿到post post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) #创建一个新的Like的object like.save() result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) #如果已经存在了一个like like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: # It's about how to add data to Django database like = Like(post=post, user=request.user) like.save() result = 1 except Exception as e: # One user can not like the post twice like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get("post_pk") post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) like.save() result = 1 except Exception as e: # An exception upon save() means that the like already exists # The user wants to cancel the like instead like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {"result": result, "post_pk": post_pk}
def toggleLike(request): '''come from index.js in static/js''' post_pk = request.POST.get('post_pk') # find the current post post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) like.save( ) # might throws Exception if there is already a like with the same post and user result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) # pylint: disable=maybe-no-member try: like = Like(post=post, user=request.user) like.save() result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) # pylint: disable=maybe-no-member like.delete() result = 0 return { 'result': result, 'post_pk': post_pk }
def addLike(request): post_pk = request.POST.get('post_pk') # which post i click like? post = Post.objects.get(pk=post_pk) try: # Like is a contstructor like = Like(post=post, user=request.user) # save like object to db, if i found same like has already exist in the db like.save() result = 1 except Exception as e: # delete like like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): #传入的request,request里面的data的value是post.pk post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) #创建一个Like的object,需要提供Like的2个attributes like.save() #把这个object存在db里面, 如果db已经存在了一个这个object,user已经点过赞了 #因为是1 user 只能点一个post ,如果存在了就调到exception, 就是取消 result = 1 except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return { 'result': result, 'post_pk': post_pk }
def addLike(request): # get pk from AJAX request post_pk = request.POST.get('post_pk') # get the post object by id post = Post.objects.get(pk=post_pk) try: # create a like object like = Like(post=post, user=request.user) # it's possible that the like alreay exists like.save() result = 1 except Exception as e: # get the like object by post, user (unique) like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 # return Json data return {'result': result, 'post_pk': post_pk}
def addLike(request): # post_pk get from index.js post_pk = request.POST.get('post_pk') post = Post.objects.get(pk=post_pk) # if this user did not like this post before try: # Create Like object using contructor like = Like(post=post, user=request.user) # Upload Like object to database like.save() result = 1 # if this user liked this post before --> cancel like except Exception as e: like = Like.objects.get(post=post, user=request.user) like.delete() result = 0 return {'result': result, 'post_pk': post_pk}
def addLike(request): post_pk = request.POST.get('post_pk') print(post_pk) post = Post.objects.get(pk=post_pk) try: like = Like(post=post, user=request.user) #save to database, will have exception if this user already liked the post (bcz we set unique-together in models.py) like.save() result = 1 except Exception as e: #handle exception, which means remove like like = Like.objects.get(post=post, user=request.user) like.delete() #result 0 or 1 tells if it's remove like or add like result = 0 #ajax return type is json, return to index.js return {'result': result, 'post_pk': post_pk}