from django.http import HttpResponse from django.shortcuts import render from django.contrib.auth.decorators import login_required from models import Group from django.contrib.auth.models import User import json # Create your views here. DEBUG = 1 # 首先是 加入/退出 群组,客户端发送申请,把该用户直接 加入/删除 该群组的对象 @login_required(login_url='/account/login/') def add_group(request): if request.method == 'post': # 查找是否有此人 user = User.objects.filter(username=request.user.username) if user: # 查找此人是否已经在群组里 group = Group.objects.filter(group_id=request.Group.group_id).get() if user in group.member: # 此人已在群组里 return HttpResponse(status=421) else: group.member.add(user) group.save() return HttpResponse(status=200) else: return HttpResponse(status=422) elif request.method == 'GET': if DEBUG: return render(request, 'add_group.html') else: return HttpResponse(status=400) @login_required(login_url='/account/login/') def leave_group(request): if request.method == 'post': # 查找是否有此人 user = User.objects.filter(username=request.user.username) if user: # 查找此人是否已经在群组里 group = Group.objects.filter(group_id=request.Group.group_id).get() if user in group.member: # 此人已在群组里 return HttpResponse(status=421) else: group.member.delete(user) group.save() return HttpResponse(status=200) else: return HttpResponse(status=422) elif request.method == 'GET': if DEBUG: return render(request, 'leave_group.html') else: return HttpResponse(status=400) # 获取你所在的所有群组 @login_required(login_url='/account/login/') def group_list(request): if request.method == 'POST': # 获取群组 groups = Group.objects.filter(member__username=request.user.username) response = [] for i in groups: response.append(i) return HttpResponse(json.dumps(response), status=200) elif request.method == 'GET': if DEBUG: return render(request, 'group_list.html') else: return HttpResponse(status=400)