def profile(request, member_id=None): decode_pk = int(decode(enc=str(member_id))) if request.user.is_authenticated: try: member = User.objects.filter(pk=decode_pk).get() if request.user == member: response = render_to_response("view/profile.html", { "login": True, "is_user": True }) return response response = render_to_response("view/profile.html", { "login": True, "is_user": False }) return response except ObjectDoesNotExist: response = render_to_response("view/profile.html", { "login": True, "is_user": False }) return response response = render_to_response("view/profile.html", { "login": False, "is_user": False }) return response
def post(self, request): member_id = self.request.data['pk'] decode_pk = int(decode(enc=str(member_id))) member = User.objects.filter(pk=decode_pk).get() user = self.request.user if user == member: try: profile = Profile.objects.select_related('user').filter( user=user).get() serializer = ProfileSubSerializer( profile, context={'user': self.request.user}) if serializer: return Response(serializer.data, status=status.HTTP_200_OK) return Response({ "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except ObjectDoesNotExist: return Response({ "username": user.username, "intro": "-", }, status=status.HTTP_200_OK) else: try: profile = Profile.objects.select_related('user').filter( user=member).get() serializer = ProfileSubSerializer( profile, context={'user': self.request.user}) if serializer: return Response(serializer.data, status=status.HTTP_200_OK) return Response({ "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except ObjectDoesNotExist: return Response({ "username": member.username, "intro": "-", }, status=status.HTTP_200_OK)
def list(self, request, *args, **kwargs): pk = self.request.data['pk'] decode_pk = int(decode(enc=str(pk))) user = User.objects.filter(pk=decode_pk).get() try: temp = Temp.objects.select_related('author').filter( author=user).all() post = Post.objects.select_related('author').filter( author=user).all() all_post = sorted(chain(temp, post), key=attrgetter('created_date'), reverse=True) page = self.paginate_queryset(all_post) serializer = MyPublishPostSerializer(all_post, many=True) if page is not None: serializer = MyPublishPostSerializer(page, many=True) return self.get_paginated_response(serializer.data) return Response(serializer.data) except ObjectDoesNotExist: return Response('', 200)
def get(self, request, *args, **kwargs): user = self.request.user user_pk = self.kwargs.get('user_pk') decode_pk = int(decode(enc=str(user_pk))) try: to_user = User.objects.filter(pk=decode_pk).get() result, relation = Relation.objects.select_related( 'to_user', 'from_user').get_or_create(to_user=to_user, from_user=user) if relation: return Response({ 'detail': 'created', "author": { "follow_status": True, "follower": Relation.objects.select_related('from_user').filter( from_user=user).count() } }) result.delete() return Response({ 'detail': 'deleted', "author": { "follow_status": False } }) except ObjectDoesNotExist: return Response({ "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def get(self, request, *args, **kwargs): user_pk = self.kwargs.get('user_pk') user = self.request.user decode_pk = int(decode(enc=str(user_pk))) try: to_user = User.objects.filter(pk=decode_pk).get() serializer = FollowStatusSerializer(to_user, context={'request': request}) if serializer: return Response(serializer.data, status=status.HTTP_200_OK) return Response({ "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except ObjectDoesNotExist: return Response({ "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def post(self, request): member_id = self.request.data['pk'] decode_pk = int(decode(enc=str(member_id))) try: member = User.objects.filter(pk=decode_pk).get() user = self.request.user if user == member: try: profile = Profile.objects.select_related('user').filter( user=user).get() serializer = ProfileMainSerializer(profile) if serializer: return Response(serializer.data, status=status.HTTP_200_OK) return Response( { "code": 500, "message": kr_error_code(500) }, status=status.HTTP_500_INTERNAL_SERVER_ERROR) except ObjectDoesNotExist: try: profile_image = ProfileImage.objects.select_related( 'user').filter(user=user).get() serializer = ProfileImageSerializer(profile_image) return Response( { "nickname": user.nickname, "waiting": WaitingRelation.objects.select_related( 'receive_user').filter( receive_user=user).count(), "post_count": Post.objects.filter(author=user).count(), "point": user.point, "intro": "- ", "following": Relation.objects.select_related( 'from_user', 'to_user').filter(from_user=user).count(), "follower": Relation.objects.select_related( 'to_user', 'from_user').filter(to_user=user).count(), "image": serializer.data }, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response( { "nickname": user.nickname, "waiting": WaitingRelation.objects.select_related( 'receive_user').filter( receive_user=user).count(), "post_count": Post.objects.filter(author=user).count(), "point": user.point, "intro": "-", "following": Relation.objects.select_related( 'from_user', 'to_user').filter(from_user=user).count(), "follower": Relation.objects.select_related( 'to_user', 'from_user').filter(to_user=user).count(), "image": { "profile_image": "https://static.octocolumn.com/media/example/2_x20_.jpeg", "cover_image": "https://static.octocolumn.com/media/example/1.jpeg" } }, status=status.HTTP_200_OK) else: try: profile_image = ProfileImage.objects.select_related( 'user').filter(user=member).get() serializer = ProfileImageSerializer(profile_image) return Response( { "nickname": member.nickname, "waiting": WaitingRelation.objects.select_related( 'receive_user').filter( receive_user=member).count(), "post_count": Post.objects.filter(author=member).count(), "intro": "-", "following": Relation.objects.select_related( 'from_user', 'to_user').filter(from_user=member).count(), "follower": Relation.objects.select_related( 'to_user', 'from_user').filter(to_user=member).count(), "image": serializer.data }, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response( { "nickname": member.nickname, "waiting": WaitingRelation.objects.select_related( 'receive_user').filter( receive_user=member).count(), "post_count": Post.objects.filter(author=member).count(), "intro": "-", "following": Relation.objects.select_related( 'from_user', 'to_user').filter(from_user=member).count(), "follower": Relation.objects.select_related( 'to_user', 'from_user').filter(to_user=member).count(), "image": { "profile_image": "https://static.octocolumn.com/media/example/2_x20_.jpeg", "cover_image": "https://static.octocolumn.com/media/example/1.jpeg" } }, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response({''})