2014-09-22 37 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? – 2014-09-22 13:48:53

+0

如果您打算實施pswd重置功能,請參閱此鏈接https://docs.djangoproject.com/en/1.7/_modules/django/contrib/auth/forms/#PasswordResetForm – 2014-09-22 13:55:03

+0

嗯,除了Hasan Ramezani的良好答案,錯誤不是關於密碼,而只是因爲你做了一個空的查詢集過濾器。結果列表爲空,您嘗試訪問索引爲0的項目。 – aRkadeFR 2014-09-24 08:27:39

回答

3

由於安全限制,它是不可能得到用戶密碼。

+0

但是https://docs.djangoproject.com/en/1.6/ref/contrib/auth/#django.contrib.auth.models.User。 check_password – dert 2014-09-22 13:21:39

+2

'check_password'從你的字符串中做一個散列,並與存儲在數據庫 – coldmind 2014-09-22 13:23:24

+1

中的散列進行比較,這是爲了檢查密碼,而不是獲取密碼。 – 2014-09-22 13:23:33

0

你會得到一個散列,而不是明文密碼。

而您正在使用系統保留關鍵字pass。 還有一件事 - 如果用戶找不到,您的變量將不會被定義,並會引發異常。

相關問題