2014-09-22 3 views
0

пожалуйста помогите получить пароль пользователя по имени пользователякак получить пароль из базы данных?

views.py: сообщение

def qwe(request): 
    if request.method == "POST" and request.is_ajax(): 
     #username = request.POST.get('username', '')   
     username ="admin" 

     username_req = User.objects.filter(username=username)    

     if username_req.exists(): 
      pass = username_req[0].password 

    return HttpResponse(pass) 

ошибки в срубе:

IndexError: list index out of range

+0

объясните это.! зачем вам нужен pswd? –

+0

И если вы планируете реализовать функцию сброса pswd, см. Эту ссылку https://docs.djangoproject.com/en/1.7/_modules/django/contrib/auth/forms/#PasswordResetForm –

+0

hmmm, кроме хорошего ответа Хасана Рамезани , ошибка заключается не в пароле, а только потому, что вы выполняете фильтр запросов, который пуст. Полученный список пуст, и вы пытаетесь получить доступ к элементу по индексу 0. – aRkadeFR

ответ

3

Из-за ограничения безопасности, невозможно получить пароль пользователя ,

+0

, но https://docs.djangoproject.com/en/1.6/ref/contrib/auth/#django.contrib.auth.models.User. check_password – dert

+2

'check_password' делает хэш из вашей строки и сравнивается с хешем, хранящимся в базе данных – coldmind

+1

, это для проверки пароля, а не для получения пароля. –

0

Вы получите хэш, а не пароль открытого текста.

И вы используете ключевое слово system-reserved pass. Еще одна вещь - если пользователь не найдет, ваша переменная не будет определена, и исключение будет поднято.

Смежные вопросы