1
我有django登錄視圖/功能,直到現在才正常工作,但突然間,當我嘗試使用用戶名和密碼登錄管理員帳戶時(它沒有任何工作錯誤之前),它告訴我下面的錯誤異常值:在django登錄過程中解壓縮的值太多
ValueError at /login/
too many values to unpack
Request Method: POST
Request URL: http://127.0.0.1:8006/login/
Django Version: 1.3.1
Exception Type: ValueError
Exception Value: too many values to unpack
Exception Location: /home/rick/.virtualenvs/project/local/lib/python2.7/site-packages/django/contrib/auth/models.py in check_password, line 42
Python Executable: /home/rick/.virtualenvs/project/bin/python
Python Version: 2.7.4
Python Path:[....]
我的看法是類似下面
def blogin(request, *args, **kwargs):
if request.method == 'POST':
form = EmailLoginForm(data=request.POST)
if form.is_valid(): ...
ult = UserLoginTrail(\
user = User.objects.get(username=request.POST['username']),
login_time = datetime.datetime.now(),
)
ult.save()
.......
.......
所以我試圖改變從外殼的密碼,並通過使用管理命令,Django提供像低於
管理命令
python manage.py changepassword [email protected]
殼牌
from django.contrib.auth.models import User
user = user.objects.get(username='[email protected]')
user.set_password('password')
user.save()
但是還是我得到試圖用我的用戶名[email protected]
登錄時同樣的錯誤?
那麼如何避免這個too many values to unpack
錯誤,以及它爲什麼會突然發生?
'check_password'是默認的django方法嗎?我沒有定製它。 –
哦,真的,對不起。我以爲你建立了自己的認證。如果您使用username = form.cleaned_data ['username'],而不是username = request.POST ['username'],您會得到同樣的錯誤嗎? –