def post(self, request, *args, **kwargs): if request.user.id is not None: follows_between = Follow.objects.filter( user=request.user, follow_user=self.visible_user()) if 'follow' in request.POST: new_relation = Follow(user=request.user, follow_user=self.visible_user()) if follows_between.count() == 0: new_relation.save() elif 'unfollow' in request.POST: if follows_between.count() > 0: follows_between.delete() return self.get(self, request, *args, **kwargs)
def follow_other_user(): uid = session.get('uid') # 自己的ID fid = int(request.args.get('fid')) # 关注的人的id try: # 取消关注 follow = Follow.query.filter_by(uid=uid, fid=fid).one() if follow: Follow.query.filter_by(uid=uid, fid=fid).delete() User.query.filter_by(id=uid).update({'follows': User.follows - 1}) User.query.filter_by(id=fid).update({'fans': User.fans - 1}) db.session.commit() except Exception: # 关注 fw = Follow(uid=uid, fid=fid) User.query.filter_by(id=uid).update({'follows': User.follows + 1}) User.query.filter_by(id=fid).update({'fans': User.fans + 1}) db.session.add(fw) db.session.commit() #判断是否从首页关注 is_show_all = request.args.get('is_show_all') if is_show_all: #从首页进行关注 return redirect( f'/user/other_info?uid={fid}&is_show_all={is_show_all}') else: return redirect(f'/user/other_info?uid={fid}')
def follow(): '''关注博主''' f_id = int(request.args.get('f_id')) u_id = session.get('u_id') if u_id == f_id: err = '不允许自己关注自己哦~' return render_template('other.html', err=err) fw = Follow(u_id=u_id, f_id=f_id) try: '''关注''' User.query.filter_by(id=u_id).update({'n_follow': User.n_follow + 1}) User.query.filter_by(id=f_id).update({'n_fans': User.n_fans + 1}) db.session.add(fw) db.session.commit() except Exception: '''取消关注''' db.session.rollback() User.query.filter_by(id=u_id).update({'n_follow': User.n_follow - 1}) User.query.filter_by(id=f_id).update({'n_fans': User.n_fans - 1}) Follow.query.filter_by(f_id=f_id, u_id=u_id).delete() db.session.commit() return redirect('/user/other?uid=%s' % f_id)
def post(self, request, *args, **kwargs): posts = Post.objects.filter(author=self.visible_user()) follows_between = Follow.objects.filter(following=request.user, follower=self.visible_user()) can_follow = (Follow.objects.filter( following=request.user, follower=self.visible_user()).count() == 0) if 'follow' in request.POST: new_relation = Follow(following=request.user, follower=self.visible_user()) if follows_between.count() == 0: new_relation.save() elif 'unfollow' in request.POST: if follows_between.count() > 0: follows_between.delete() context = { 'profile': self.visible_user(), 'posts': posts, 'can_follow': can_follow } return render(request, self.template_name, context)
def post(self, request): # 关注或取关 kwargs: dict = json.loads(request.body) if kwargs.keys() != {'uid', 'condition'}: return -1 uid = kwargs['uid'] uf = User.objects.filter(id=uid) if not uf.exists(): return 1, uf = uf.get() u = User.objects.filter(id=request.session['uid']) if not u.exists(): return 1, u = u.get() if uid == request.session['uid']: return 2, if Follow.objects.filter(follower=u, followed=uf).exists(): Follow.objects.filter(follower=u, followed=uf).delete() else: f = Follow() f.followed = uf f.follower = u f.save() return 0,
def follow(): uid = session['id'] # 当前登录用户id fid = request.args.get('uid') # 被关注用户id wid = request.args.get('wid') follow = Follow(uid=uid, fid=fid) if Follow.query.filter_by(uid=uid, fid=fid).count(): Follow.query.filter_by(uid=uid, fid=fid).delete() db.session.commit() else: db.session.add(follow) db.session.commit() return redirect(f'/user/other_info?wid={wid}&uid={fid}')
def post(self, request): user_id = request.user.id followee_id = request.GET.get('followee') if not followee_id: return JsonResponse({'message': 'Check Querystring'}, status = 400) try: user = User.objects.get(id=user_id) followee = User.objects.get(id=followee_id) except Exception: return JsonResponse({'message': 'INVALID_USER'}, status = 400) Follow( follower = user, followee = followee, ).save() return JsonResponse({'message': 'SUCCESS'}, status = 400)
def guanzhu(): fid = request.args.get('fid') uid = session['uid'] user = User.query.filter_by(id=fid).one() try: follow = Follow(uid=uid,fid=fid) db.session.add(follow) User.query.filter_by(id=fid).update({'fans_num':User.fans_num+1}) User.query.filter_by(id=uid).update({'follow_num':User.follow_num+1}) db.session.commit() except: db.session.rollback() Follow.query.filter_by(uid=uid).filter_by(fid=fid).delete() User.query.filter_by(id=fid).update({'fans_num':User.fans_num-1}) User.query.filter_by(id=uid).update({'follow_num':User.follow_num-1}) db.session.commit() return redirect(f'/hudong/check_user?nickname={user.nickname}')
def follow(request): data = request.data workspace = WorkspaceUtil.get_workspace(request) if not workspace: return Response({"status": 401, "msg": "token过期"}) passport_id = workspace.passport_id follow_id = data["follow_id"] follow = Follow() follow.passport_id = passport_id follow.follow_id = follow_id follow.save() return Response({"status": 200, "msg": "关注成功"})
def follow(): fid = int(request.args.get('fid')) uid = session['uid'] # 不允许用户自己关注自己 if uid == fid: abort(403) fw = Follow(uid=uid, fid=fid) try: User.query.filter_by(id=uid).update({'n_follow': User.n_follow + 1}) User.query.filter_by(id=fid).update({'n_fans': User.n_fans + 1}) db.session.add(fw) db.session.commit() except IntegrityError: db.session.rollback() User.query.filter_by(id=uid).update({'n_follow': User.n_follow - 1}) User.query.filter_by(id=fid).update({'n_fans': User.n_fans - 1}) Follow.query.filter_by(uid=uid, fid=fid).delete() db.session.commit() return redirect(f'/user/other?uid={fid}')
def follow(): '''关注''' fid = int(request.args.get('fid')) check = int(request.args.get('check')) uid = session['uid'] # 不能关注自己 if fid == uid: return render_template('response', msg='拒绝访问') follow_relation = Follow(uid=uid, fid=fid) if check == 1: User.query.filter_by(uid=uid).update({'follow': User.follow - 1}) User.query.filter_by(uid=fid).update({'fans': User.fans - 1}) Follow.query.filter_by(uid=uid, fid=fid).delete() else: User.query.filter_by(uid=uid).update({'follow': User.follow + 1}) User.query.filter_by(uid=fid).update({'fans': User.fans + 1}) db.session.add(follow_relation) db.session.commit() user = User.query.get(fid) return redirect(f'/user/other?fid={fid}&fname={user.username}')