So I just got my first django app deployed.
I did a syncdb
and created my superuser account for the site.
Now when I access the page and press the login button I get this error. I think it has something to do with the password but I'm not sure.
ValueError at /accounts/login/ too many values to unpack
I'm using the generic login view
(r'^accounts/login/$', login, {'template_name': 'authentication/login.html'}),
The following is the traceback
Environment: Request Method: POST Request URL: http://xx.xx.xx.xx:8888/accounts/login/?next=/some_page/ Django Version: 1.3.1 Python Version: 2.7.2 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'bc_system_app', 'django.contrib.humanize'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Traceback: File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view 93. response = view_func(request, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func 79. response = view_func(request, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/views.py" in login 35. if form.is_valid(): File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in is_valid 121. return self.is_bound and not bool(self.errors) File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in _get_errors 112. self.full_clean() File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in full_clean 268. self._clean_form() File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in _clean_form 296. self.cleaned_data = self.clean() File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/forms.py" in clean 85. self.user_cache = authenticate(username=username, password=password) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/__init__.py" in authenticate 55. user = backend.authenticate(**credentials) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/backends.py" in authenticate 18. if user.check_password(password): File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/models.py" in check_password 275. return check_password(raw_password, self.password) File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/models.py" in check_password 42. algo, salt, hsh = enc_password.split('$') Exception Type: ValueError at /accounts/login/ Exception Value: too many values to unpack
The Python "ValueError: too many values to unpack (expected 3) in Python" occurs when the number of variables in the assignment is not the same as the number of values in the iterable. To solve the error, declare exactly as many variables as there are items in the iterable.
The valueerror: too many values to unpack occurs during a multiple-assignment where you either don't have enough objects to assign to the variables or you have more objects to assign than variables.
Verify the assignment variables. If the number of assignment variables is greater than the total number of variables, delete the excess variable from the assignment operator. The number of objects returned, as well as the number of variables available are the same. This will resolve the value error.
Just had the same problem.
It seem that in my case, the site was running with Django 1.4 when the password was created (due to a PYTHONPATH mix-up).
When I tried to login running the site with 1.3.1 I got this error. Then I noticed the Django version, switched to 1.4 and the login started working again.
It seems the password algorithm was changed in 1.4:
https://docs.djangoproject.com/en/dev/releases/1.4-beta-1/#improved-password-hashing
And if you were using Django 1.4 alpha it might also be that the password was effectively corrupted (read the warning).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With