def __authorize_by_code(request): post_data = request.body.decode('utf-8') post_data = json.loads(post_data) print(post_data) code = post_data.get('code').strip() app_id = post_data.get("appId").strip() nick_name = post_data.get("nickName").strip() response = {} if not code or not app_id: response['message'] = "authoreized failed, need entire authorization data. " response['code'] = ReturnCode.BROKEN_AUTHORIZED_DATA return JsonResponse(data=response, safe=False) data = c2s(app_id,code) openid = data.get('openid') if not openid: response = wrap_json_response(code=ReturnCode.FAILED, message="auth failed") return JsonResponse(data=response, safe=False) request.session['openid'] = openid request.session['is_authorized'] = True if not User.objects.filter(openid=openid): new_user = User(openid=openid, nickname=nick_name) new_user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message="auth success") return JsonResponse(data=response, safe=False) pass
def inner(*args, **kwargs): try: is_authorized = requests.session().get('is_authorized') except Exception: response = wrap_json_response(code=ReturnCode.UNAUTHORIZED) return JsonResponse(data=response, safe=False) if not is_authorized: response = wrap_json_response(code=ReturnCode.UNAUTHORIZED) return JsonResponse(data=response, safe=False) return func(*args, **kwargs)
def image_text(request): if request.method == 'GET': md5 = request.GET.get('md5') imgfile = os.path.join(settings.IMAGES_DIR, md5 + '.jpg') if not os.path.exists(imgfile): return response.wrap_json_response(code=response.RetureCode.SUCCESS) else: response_data = {} response_data['name'] = md5 + '.jpg' response_data['url'] = '/apis/iamge?md5=%s' % (md5) res_data = response.wrap_json_response(data=response_data) return JsonResponse(data=res_data, safe=False)
def post(self, request): # 没有认证 if not already_authorized(request): response = self.wrap_json_response(code=ReturnCode.UNAUTHORIZED) return JsonResponse(data=response, safe=False) # 认证通过 open_id = request.session.get('open_id') user = User.objects.get(open_id=open_id) received_body = request.body.decode('utf-8') # 将str转为字典dict received_body = eval(received_body) print('---\nUSER【%s】[%s] post data:%s' % (user.nickname, open_id, received_body)) cities = received_body.get('city') stocks = received_body.get('stock') constellations = received_body.get('constellation') user.focus_cities = json.dumps(cities) user.focus_stocks = json.dumps(stocks) user.focus_constellations = json.dumps(constellations) user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message='modify user info success.') return JsonResponse(data=response, safe=False)
def post(self, request): # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 data = received_body.get('data') # 设置回滚点 RollBackPoint = transaction.savepoint() try: # 聘用操作 users = UserInfo.objects.filter(user_id__in=data.get('user_id')) dept = Dept.objects.filter(dept_id=data.get('dept_id'))[0] Register.objects.filter(user__in=users).delete() for user in users: UserInfo.objects.filter(user_id=user.user_id).update( judge_invalid=True) UserClub.objects.create(user=user, dept=dept) UserPower.objects.create(user=user) UserRecord.objects.create(user=user) # 操作完成 transaction.savepoint_commit(RollBackPoint) message = 'operate successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False) except: transaction.savepoint_rollback(RollBackPoint) response = self.wrap_json_response(code=ReturnCode.FAILED) return JsonResponse(data=response, safe=False)
def get(self, request): """ 获取短信验证码 :param request: web请求,phoneNumber 用户手机号 :return: JsonResponse data储存状态码,短信是否发送成功 """ post_data = request.body.decode('utf-8') post_data = json.loads(post_data) phone_number = post_data.get('phoneNumber') if not phone_number: response = PhoneCertificationView.wrap_json_response(code=ReturnCode.BROKEN_PARAMS) return JsonResponse(data=response, safe=False) captcha = random.randint(10000, 100000 - 1) data = auth.phone_cert(phone_number, captcha) data = json.loads(data) if data.get('result') == -119: response = wrap_json_response(code=ReturnCode.WRONG_PHONE_NUMBER) return JsonResponse(data=response, safe=False) request.session['captcha'] = str(captcha) request.session['captcha_time'] = timezone.now() request.session['phone_number'] = phone_number response = PhoneCertificationView.wrap_json_response(code=ReturnCode.SUCCESS, message="success") return JsonResponse(data=response, safe=False)
def get_status(request): if already_authorized(request): data = {"is_authorized": 1} else: data = {"is_authorized": 0} response = wrap_json_response(data=data) return JsonResponse(data=response, safe=False)
def get_menu(request): print('get_menu') global_app_data = init_app_data() print('global_app_data', global_app_data) published_app_data = global_app_data.get('published') responseData = response.wrap_json_response(data=published_app_data, code=response.RetureCode.SUCCESS) return JsonResponse(data=responseData, safe=False)
def post(self, request): """ 验证码的验证 :param request: web请求,captcha 用户填写的验证码 :return: """ post_data = request.body.decode('utf-8') post_data = json.loads(post_data) now = timezone.now() # 获取并删除有关session try: captcha_time = request.session.get('captcha_time') captcha_correct = request.session.get('captcha') del request.session['captcha_time'] del request.session['captcha'] del request.session['phone_number'] except Exception: response = PhoneCertificationView.wrap_json_response(code=ReturnCode.WRONG_CAPTCHA) return JsonResponse(data=response, safe=False) captcha_user = post_data.get('captcha') phone_number = request.session.get('phone_number') if not captcha_user: response = PhoneCertificationView.wrap_json_response(code=ReturnCode.WRONG_CAPTCHA) return JsonResponse(data=response, safe=False) # 判定验证码过期 delta = now - captcha_time if delta.seconds > 900: response = wrap_json_response(code=ReturnCode.CAPTCHA_DUE) return JsonResponse(data=response, safe=False) if captcha_correct == captcha_user: open_id = request.session.get['open_id'] user = User.objects.filter(open_id=open_id) user.phone_number = phone_number user.save() response = wrap_json_response(code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False) else: response = wrap_json_response(code=ReturnCode.CAPTCHA_DUE) return JsonResponse(data=response, safe=False)
def __authorize_by_code(request): """ 使用wx.login()得到的临时code获得微信提供的code2session接口授权 :param request: :return: """ post_data = request.body.decode('utf-8') post_data = json.loads(post_data) code = post_data.get('code') app_id = post_data.get('appId') nickname = post_data.get('nickname') response = {} if not code or not app_id: response['message'] = '参数不完整' response['code'] = ReturnCode.BROKEN_AUTHORIZED_DATA return JsonResponse(data=response, safe=False) data = code2session(appid=app_id, code=code) openid = data.get('openid') print('openid is ' + openid) if not openid: response = wrap_json_response(code=ReturnCode.FAILED, message='auth failed!') return JsonResponse(data=response, safe=False) # openid存在 request.session['openid'] = openid request.session['is_authorized'] = True # 是否已经认证 # 如果成功认证,判断该用户是否在数据库中 if not User.objects.filter(open_id=openid): # 如果不在,将用户保存到数据库 new_user = User(open_id=openid, nickname=nickname) new_user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message='auth success') print('auth is not in tables') return JsonResponse(data=response, safe=False) print('auth is in tables') response = wrap_json_response(code=ReturnCode.SUCCESS, message='auth success') return JsonResponse(data=response, safe=False)
def __authorize_by_code(request): """ 使用wx.login到的临时code到微信提供的code2session接口授权 post_data = { 'encryptedData': 'xxx', 'appId': 'xxx', 'sessionKey': 'xxx', 'iv': 'xxx' } """ post_data = request.body.decode('utf-8') print('data from applet:', post_data) post_data = json.loads(post_data) code = post_data.get('code').strip() app_id = post_data.get('appId').strip() nickname = post_data.get('nickname').strip() response = {} # 需要微信小程序提供code和appid,然后将code、appid和secret提交给c2s向微信接口服务认证 if not code or not app_id: response['message'] = 'lost code or appId' response['code'] = ReturnCode.BROKEN_AUTHORIZED_DATA return JsonResponse(data=response, safe=False) data = c2s(app_id, code) openid = data.get('openid') print('get openid from c2s:', openid) # 若没有从微信接口服务获取到openid,则认证失败 if not openid: response = wrap_json_response(code=ReturnCode.UNAUTHORIZED, message='auth failed') return JsonResponse(data=response, safe=False) request.session['open_id'] = openid request.session['is_authorized'] = True # 认证成功后查看该用户是否在开发者数据存在,不存在则保存 if not User.objects.filter(open_id=openid): new_user = User(open_id=openid, nickname=nickname) new_user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message='auth success.') return JsonResponse(data=response, safe=False)
def __authorize_by_code(request): ''' 使用wx.login的到的临时code到微信提供的code2session接口授权 post_data = { 'encryptedData': 'xxxx', 'appId': 'xxx', 'sessionKey': 'xxx', 'iv': 'xxx' } ''' response = {} post_data = request.body.decode('utf-8') post_data = json.loads(post_data) app_id = post_data.get('appId').strip() nickname = post_data.get('nickname').strip() code = post_data.get('code').strip() print(code) print(app_id) if not (app_id and code): response['result_code'] = ReturnCode.BROKEN_AUTHORIZED_DATA response[ 'message'] = 'authorized failed. need entire authorization data.' print("-----") print(response) print("-----") return JsonResponse(response, safe=False) try: print("cs2:app_id code %s %s" % (app_id, code)) data = c2s(app_id, code) except Exception as e: print(e) response['result_code'] = ReturnCode.FAILED response['message'] = 'authorized failed.' return JsonResponse(response, safe=False) open_id = data.get('openid') if not open_id: response['result_code'] = ReturnCode.FAILED response['message'] = 'authorization error.' return JsonResponse(response, safe=False) request.session['open_id'] = open_id request.session['is_authorized'] = True print(open_id) # User.objects.get(open_id=open_id) # 不要用get,用get查询如果结果数量 !=1 就会抛异常 # 如果用户不存在,则新建用户 if not User.objects.filter(open_id=open_id): new_user = User(open_id=open_id, nickname=nickname) new_user.save() message = 'user authorize successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def post(self, request): if not already_authorized(request): response = self.wrap_json_response(code=ReturnCode.UNAUTHORIZED) return JsonResponse(response, safe=False) open_id = request.session.get('open_id') user = UserProfile.objects.get(open_id=open_id) userImage = request.FILES.get("file", None) # 获取上传的文件,如果没有文件,则默认为None user.image = userImage user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message='头像修改成功') print(response) return JsonResponse(data=response, safe=False)
def __authorize_by_code(request): ''' 使用wx.login的到的临时code到微信提供的code2session接口授权 ''' post_data = request.body.decode('utf-8') post_data = json.loads(post_data) code = post_data.get('code').strip() app_id = post_data.get('appId').strip() nickname = post_data.get('nickname').strip() print("nickname:",nickname) response = {} if not code or not app_id: print("ddd") response['message'] = 'authorized failed, need entire authorization data.' response['code '] = ReturnCode.BROKEN_AUTHORIZED_DATA return JsonResponse(data=response, safe=False) data = c2s(app_id, code) openid = data.get('openid') print('get openid: ', openid) if not openid: response = wrap_json_response(code=ReturnCode.FAILED, message='auth failed') return JsonResponse(data=response, safe=False) request.session['open_id'] = openid request.session['is_authorized'] = True if not User.objects.filter(open_id=openid): new_user = User(open_id=openid, nickname=nickname) print('new user: open_id: %s, nickname: %s' % (openid, nickname)) new_user.save() response = wrap_json_response(code=ReturnCode.SUCCESS, message='auth success.') print('new user: open_id: %s, nickname: %s' % (openid, nickname)) return JsonResponse(data=response, safe=False) pass
def post(self, request): # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 edit_data = received_body.get('data') courses = edit_data.get("courses") # 获取用户 user = UserInfo.objects.filter(user_id=edit_data.get("user_id"))[0] try: course = Course.objects.filter(user=user)[0] except: course = Course(user=user) course.mon1 = str(courses[0]['select']) course.mon2 = str(courses[5]['select']) course.mon3 = str(courses[10]['select']) course.mon4 = str(courses[15]['select']) course.mon5 = str(courses[20]['select']) course.tue1 = str(courses[1]['select']) course.tue2 = str(courses[6]['select']) course.tue3 = str(courses[11]['select']) course.tue4 = str(courses[16]['select']) course.tue5 = str(courses[21]['select']) course.wed1 = str(courses[2]['select']) course.wed2 = str(courses[7]['select']) course.wed3 = str(courses[12]['select']) course.wed4 = str(courses[17]['select']) course.wed5 = str(courses[22]['select']) course.thu1 = str(courses[3]['select']) course.thu2 = str(courses[8]['select']) course.thu3 = str(courses[13]['select']) course.thu4 = str(courses[18]['select']) course.thu5 = str(courses[23]['select']) course.fri1 = str(courses[4]['select']) course.fri2 = str(courses[9]['select']) course.fri3 = str(courses[14]['select']) course.fri4 = str(courses[19]['select']) course.fri5 = str(courses[24]['select']) course.save() # 操作完成 message = 'edit the course successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def get(self, request): """ 获取用户信息 :param request: :return: JsonResponse """ open_id = request.session.get('open_id') user = User.objects.filter(open_id=open_id) data = dict() data['nickname'] = user.nickname data['phoneNumber'] = user.phone_number data['idNumber'] = user.id_number data['image'] = user.image response = wrap_json_response(data=data, code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False)
def delete(self, request): response = {} # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 data = received_body.get('data') # 删除用户 UserInfo.objects.filter(user_id__in=data.get('user_id')).delete() # 操作完成 message = 'delete successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def post(self, request): response = {} # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 data = received_body.get('data') # 修改 master = Master.objects.filter()[0] master.__dict__[data.get("field")] = data.get("change_status") master.save() # 操作完成 message = 'edit master successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def post(self, request): response = {} # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 register_data = received_body.get('data') # 修改用户信息 user = UserInfo.objects.filter(user_id=register_data.get("user_id"))[0] user.name = register_data.get("name") user.phone = register_data.get("phone") user.address = register_data.get("address") user.birthday = datetime( register_data.get("birthday")[0], register_data.get("birthday")[1], register_data.get("birthday")[2]) user.sex = True if int(register_data.get("sex")) else False user.college = College.objects.filter( college_id=register_data.get("value_class")[0])[0] user.major = Major.objects.filter( major_id=register_data.get("value_class")[1])[0] user.grade = register_data.get("value_class")[2] user.class_num = register_data.get("value_class")[3] user.dorm = register_data.get("dorm")[0] user.dorm_num = register_data.get("dorm")[1] user.introduce = register_data.get("user_id") user.save() # 加入注册 register = Register(user=user, dept1=Dept.objects.filter( dept_id=register_data.get("depts")[0])[0]) if len(register_data.get("depts")) == 2: register.dept2 = Dept.objects.filter( dept_id=register_data.get("depts")[1])[0] register.save() if (not UserInfo.objects.filter(user_id=register_data.get("user_id")) ) or (not Register.objects.filter(user=user)): response['result_code'] = ReturnCode.FAILED response['message'] = 'register error.' return JsonResponse(response, safe=False) # 操作完成 message = 'user register successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def post(self, request): # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 edit_data = received_body.get('data') # 获取用户 user = UserInfo.objects.filter(user_id=edit_data.get("user_id"))[0] user.phone = edit_data.get("phone") user.address = edit_data.get("address") user.save() # 操作完成 message = 'edit the personal information successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def post(self, request, *args, **kwargs): """ 用户登录 """ response = {} post_data = request.body.decode('utf-8') print(post_data) post_data = json.loads(post_data) app_id = post_data.get('appId').strip() nickname = post_data.get('nickname').strip() code = post_data.get('code').strip() print(code) print(app_id) if not (app_id and code): response['result_code'] = ReturnCode.BROKEN_AUTHORIZED_DATA response[ 'message'] = 'authorized failed. need entire authorization data.' return JsonResponse(response, safe=False) try: data = c2s(app_id, code) except Exception as e: print(e) response['result_code'] = ReturnCode.FAILED response['message'] = 'authorized failed.' return JsonResponse(response, safe=False) open_id = data.get('openid') if not open_id: response['result_code'] = ReturnCode.FAILED response['message'] = 'authorization error.' return JsonResponse(response, safe=False) request.session['open_id'] = open_id request.session['is_authorized'] = True print(open_id) # User.objects.get(open_id=open_id) # 不要用get,用get查询如果结果数量 !=1 就会抛异常 # 如果用户不存在,则新建用户 if not User.objects.filter(open_id=open_id): new_user = User(open_id=open_id, nickname=nickname) new_user.save() token = create_token({'code': code}) print('token is', token) message = 'user authorize successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return Response({'status': True, 'token': token})
def get(self, request): response_data = [] judge_exists = True activity_id = request.GET.get('activity_id') activity = Activity.objects.filter(activity_id=activity_id)[0] try: Comment.objects.filter(activity=activity)[0] except: judge_exists = False if judge_exists: comments = [] comment = [] temp_comments = Comment.objects.filter( activity=activity).order_by("-time") time = temp_comments[0].time.strftime("%Y-%m-%d") for temp_comment in temp_comments: if temp_comment.time.strftime("%Y-%m-%d") != time: comments.append({ "date": time, "message": comment, }) comment = [] time = temp_comment.time.strftime("%Y-%m-%d") comment.append(temp_comment.message) else: comment.append(temp_comment.message) comments.append({ "date": time, "message": comment, }) comments.append({ "date": "End", "message": [], }) json_data = json.dumps(comments) # 将生成的级联数据返回 response_data.append(json_data) response = self.wrap_json_response(data=response_data) return JsonResponse(data=response, safe=False) else: response = wrap_json_response(data={}, code=ReturnCode.FAILED) return JsonResponse(response, safe=False)
def post(self, request): response = {} # 获取传送过来的数据 received_body = request.body.decode('utf-8') received_body = json.loads(received_body) # 引号为传输时的变量名 data = received_body.get('data') # 修改 user = UserInfo.objects.filter(user_id=data.get('user_id'))[0] activity = Activity.objects.filter( activity_id=data.get('activity_id'))[0] Comment.objects.create(activity=activity, user=user, message=data.get('message')) # 操作完成 message = 'add comment successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def __authorize_by_code(request): ''' 使用 wx.login 获取到临时code,到微信提供的code2session授权接口 :param request: :return: ''' post_data = request.body.decode('utf-8') post_data = json.loads(post_data) code = post_data.get('code') app_id = post_data.get('appId') nickname = post_data('nickname') response = {} if not code or not app_id: response['message'] = 'not data' response['code'] = ReturnCode.BROKEN_AUTHORIZED_DATA return JsonResponse(data=response, safe=False) data = c2s(app_id, code) openid = data.get('openid') print('get openid:', openid) response = wrap_json_response(code=ReturnCode.SUCCESS, message='auth success') return JsonResponse(data=response, safe=False)
def test_session(request): request.session['message'] = 'Test Django Session OK!' response = wrap_json_response(code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False)
def test_session2(request): print('session content: ', request.session.items()) response = wrap_json_response(code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False)
def test_session(request): print("ok") request.session['message'] = 123 response = wrap_json_response(code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False)
def __authorize_by_code(request): ''' 使用wx.login的到的临时code到微信提供的code2session接口授权 post_data = { 'encryptedData': 'xxxx', 'appId': 'xxx', 'sessionKey': 'xxx', 'iv': 'xxx' } ''' response = {} post_data = request.body.decode('utf-8') post_data = json.loads(post_data) app_id = post_data.get('appId').strip() code = post_data.get('code').strip() if not (app_id and code): response['result_code'] = ReturnCode.BROKEN_AUTHORIZED_DATA response[ 'message'] = 'authorized failed. need entire authorization data.' return JsonResponse(response, safe=False) try: data = c2s(app_id, code) except Exception as e: response['result_code'] = ReturnCode.FAILED response['message'] = 'authorized failed.' return JsonResponse(response, safe=False) open_id = data.get('openid') if not open_id: response['result_code'] = ReturnCode.FAILED response['message'] = 'authorization error.' return JsonResponse(response, safe=False) request.session['open_id'] = open_id request.session['is_authorized'] = True # User.objects.get(open_id=open_id) # 不要用get,用get查询如果结果数量 !=1 就会抛异常 # 如果用户不存在,则新建用户 if not UserInfo.objects.filter(openid=open_id): new_user = UserInfo(openid=open_id) new_user.save() user = UserInfo.objects.filter(openid=open_id)[0] # user = UserInfo.objects.filter(openid="ozMjy5HyQ8l7u691BTymwy7_Rwy4")[0] user_id = user.user_id account_info = AccountInfo(id=user_id) if (not Register.objects.filter(user=user_id)) and ( not UserClub.objects.filter(user=user_id)): account_info.set_status(register=False, status=False) else: account_info.set_status(register=True, status=user.judge_invalid) if user.judge_invalid: account_info.set_power(user.userpower) account_info.set_position(user.userclub) account_info.set_global(Master.objects.all()[0]) # 自定义类对象转换成json对象 普通对象直接用 json.dumps(object_name) 即可 json_account_info = json.dumps(account_info.__dict__, ensure_ascii=False) message = 'user authorize successfully.' response = wrap_json_response(data=json_account_info, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def __authorize_by_code(request): response = {} post_data = request.body.decode('utf-8') post_data = json.loads(post_data) app_id = post_data.get('appId').strip() nickname = post_data.get('nickname').strip() code = post_data.get('code').strip() group = post_data.get('group') password = post_data.get('password') print('group is', group) student_pwd = Group.objects.filter(name='student').first().rolecode.code teacher_pwd = Group.objects.filter(name='teacher').first().rolecode.code print(type(password), password, type(teacher_pwd), teacher_pwd) if not (app_id and code): response['result_code'] = ReturnCode.BROKEN_AUTHORIZED_DATA response[ 'message'] = 'authorized failed. need entire authorization data.' return JsonResponse(response, safe=False) try: data = c2s(app_id, code) except Exception as e: print(e) response['result_code'] = ReturnCode.FAILED response['message'] = 'authorized failed.' return JsonResponse(response, safe=False) open_id = data.get('openid') if not open_id: response['result_code'] = ReturnCode.FAILED response['message'] = 'authorization error.' return JsonResponse(response, safe=False) if group == 'teacher' and password != teacher_pwd: print('password is', password, 'teacher_pwd is', teacher_pwd) response['result_code'] = ReturnCode.FAILED response['message'] = '密码错误.' return JsonResponse(response, safe=False) # if group=='student' and password!=student_pwd: # response['result_code'] = ReturnCode.FAILED # response['message'] = '密码错误.' # return JsonResponse(response, safe=False) request.session['open_id'] = open_id request.session['is_authorized'] = True request.session['group'] = group print('session group is', request.session['group']) # User.objects.get(open_id=open_id) # 不要用get,用get查询如果结果数量 !=1 就会抛异常 # 如果用户不存在,则新建用户 if not User.objects.filter(open_id=open_id): if group == 'teacher': print('is admin') group = Group.objects.filter(id=2).first() new_user = User.objects.create_user(open_id=open_id, username=nickname, nickname=nickname, is_staff=1) else: print('is student') group = Group.objects.filter(id=1).first() new_user = User.objects.create_user(open_id=open_id, username=nickname, nickname=nickname) new_user.groups.add(group) new_user.save() else: if group == 'teacher': print('is admin') group = Group.objects.filter(id=2).first() new_user = User.objects.filter(open_id=open_id).first() else: print('is student') group = Group.objects.filter(id=1).first() new_user = User.objects.filter(open_id=open_id).first() new_user.groups.add(group) new_user.save() message = 'user authorize successfully.' response = wrap_json_response(data={}, code=ReturnCode.SUCCESS, message=message) return JsonResponse(response, safe=False)
def logout(request): request.session.clear() response = wrap_json_response(code=ReturnCode.SUCCESS) return JsonResponse(data=response, safe=False)