| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- 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)
|