def logout(req): #捕获异常 logger = logging.getLogger('mysiteApp.views') try: #将json数据转化为python数据格式 data = simplejson.loads(req.body) #获取用户令牌 customerToken = data['token'] token = Token() #依据用户令牌从数据库获取token token = Token.objects.get(token=customerToken) token.delete() result = {'successful': True, 'error': {'id': '', 'message': ''}} except Exception as e: logger.error(e.args) result = { 'successful': False, 'error': { 'id': '1024', 'message': e.args } } finally: logger.disabled = True return HttpResponse(simplejson.dumps(result), content_type="application/json")
def login(req): #获取日志 logger = logging.getLogger('mysiteApp.views') try: #将json数据转化为python数据格式 data = simplejson.loads(req.body) #将提交的用户名保存在name变量中 name = data['user']['name'] #将提交的用户密码保存在password变量中 password = data['user']['password'] #登录名与密码出现错误 customerUser = User() #根据用户名获取密码 customerUser = User.objects.get(name=name) #判断密码是否正确 if (password == customerUser.password): #密码正确则获取Token token = Token() token = Token.objects.filter(user=customerUser) #首次登陆token为空则删除 if (len(token) != 0): token.delete() else: #若密码不符则抛出异常 raise myError('登录名与密码出现错误!') #生成随机字符串 customerToken = ''.join( random.sample(string.ascii_letters + string.digits, 30)) #将信息写入token对象 token = Token() token.token = customerToken token.user = customerUser token.expire = '-1' #将Token对象写入数据库 token.save() #构建一个表示成功的dict,data中的token字段为生成的随机令牌 result = { 'data': { 'token': customerToken, #????? 'expire': -1 }, 'successful': True, 'error': { 'id': '', 'message': '' } } #捕获异常 except myError as e: logger.error(e.value) #构建一个表示失败的dict result = { 'successful': False, 'error': { 'id': '1', 'message': e.value } } except Exception as e: logger.error(e.args) #构建一个表示失败的dict result = { 'successful': False, 'error': { 'id': '1024', 'message': e.args } } finally: logger.disabled = True #将表示成功的dict以json返回到前段 return HttpResponse(simplejson.dumps(result), content_type="application/json")