def user_follow(request): user_id = request.POST.get('id', None) action = request.POST.get('action', '') FOLLOW_ACTION = 'follow' UNFOLLOW_ACTION = 'unfollow' if request.user.is_anonymous: return JsonResponse({ 'status':'ko', 'message': 'You must login'} ) if action not in [FOLLOW_ACTION, UNFOLLOW_ACTION]: return JsonResponse({ 'status':'ko', 'message': 'Unknown action {}'.format(action)} ) try: user = User.objects.get(id=user_id) if action == UNFOLLOW_ACTION: Contact.objects.filter(user_from=request.user,user_to=user).delete() return JsonResponse({ 'status':'ok' }) else: contact, created = Contact.objects.get_or_create( user_from=request.user, user_to=user) return JsonResponse({ 'status':'ok', 'message': 'Following id : {}'.format(contact.id) }) except User.DoesNotExist: return JsonResponse({ 'status':'ko' 'message': 'user id: does not exist: {}'.format(user_id) })您将关注和取消关注混为一谈,如果取消关注则创建联系人。
模板:
{% if request.user != user %} <a> Follow ....{% endif %}


