передать, если код в django, если что-то в данных -> передать - PullRequest
0 голосов
/ 06 мая 2020

мой код принимает Reques.body и в data var. и если данные di c в имени пользователя, адресе электронной почты или телефона, то проверка пароля. и если пароль будет собран, я верну токен. но мой код просто передает все, если. Я думаю, что если @ in di c это может проверить ключ в di c

, я использовал http ie и отправил пароль и телефон, электронную почту или имя пользователя. но все проходят.

Я не знаю, в чем я ошибаюсь. пожалуйста, помогите мне!

class UserLoginView(View):
def post(self, request):
    data = json.loads(request.body)
    check_password = int(data['password'])
    check_username = 'username'

    if check_username in data:
        login_username = data['username']
        login_user = User.objects.filter(username=login_username)
        if login_user is None:
            return JsonResponse({'message':'have not this ussername User'}, status = 400)
        elif login_user is login_username:
            get_user = User.objects.get(username=login_username)
            if check_password is not get_user.password:
                return JsonResponse({'message':'Not collect password'}, status = 400)
            else:
                encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
                return JsonResponse({'token':encoded_token}, status = 200)

    elif 'email' in data:
        login_email = data['email']
        login_user = User.objects.filter(email=login_email)
        if login_user is None:
            return JsonResponse({'message':'have not this emain User'}, status = 400)
        elif login_user is login_email:
            get_user = User.objects.get(email=login_email)
            if check_password is not get_user.password:
                return JsonResponse({'message':'Not collect password'}, status = 400)
            else:
                encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
                return JsonResponse({'token':encoded_token}, status = 200)

    elif 'telephone' in data:
        login_telephone = data['telephone']
        login_user = User.objects.filter(telephone=login_telephone)
        if login_user is None:
            return JsonResponse({'message':'have not this telephone User'}, status = 400)
        elif login_user is login_telephone:
            get_user = User.objects.get(telephone=login_telephone)
            if check_password is not get_user.password:
                return JsonResponse({'message':'Not collect password'}, status = 400)
            else:
                encoded_token = jwt.encode({'user': login_user}, 'wecode', algorithm='HS256')
                return JsonResponse({'token':encoded_token}, status = 200)

    return JsonResponse({'message':'Nothing do'}, status = 200)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...