MultiValueDictKeyError at /api/user/update/

"Key 'first_name' not found in <QueryDict: {u'session_key': [u'780b92afab06e74cfaa14838e79c6260'], u'favorite_spot_1': [u'spot1'], u'favorite_spot_3': [u'spot3'], u'favorite_spot_2': [u'spot2']}>"

Request Method: POST
Request URL: http://neoglam.com:8668/api/user/update/
Exception Type: MultiValueDictKeyError
Exception Value: "Key 'first_name' not found in <QueryDict: {u'session_key': [u'780b92afab06e74cfaa14838e79c6260'], u'favorite_spot_1': [u'spot1'], u'favorite_spot_3': [u'spot3'], u'favorite_spot_2': [u'spot2']}>"
Exception Location: /home/daniel/git/mtvskate/lib/django/utils/datastructures.py in __getitem__, line 198
Python Executable: /usr/bin/python
Python Version: 2.5.1
Python Path: ['/home/daniel/git/mtvskate/mtvskate', '/usr/lib/python2.5/site-packages/akismet-0.1.4-py2.5.egg', '/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg', '/usr/lib/python2.5/site-packages/markdown-1.6-py2.5.egg', '/usr/lib/python2.5/site-packages/akismet-0.1.4-py2.5.egg', '/usr/lib/python2.5/site-packages/python_memcached-1.40-py2.5.egg', '/home/daniel/git/mtvskate/lib', '/home/daniel/lib/python2.5/site-packages', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/PIL', '/var/lib/python-support/python2.5']
Server time: Fri, 18 Jul 2008 00:35:29 +0000

Traceback Switch to copy-and-paste view



Request information

GET

No GET data

POST

Variable Value
session_key
u'780b92afab06e74cfaa14838e79c6260'
favorite_spot_1
u'spot1'
favorite_spot_3
u'spot3'
favorite_spot_2
u'spot2'

No cookie data

META

Variable Value
CONTENT_LENGTH
'110'
CONTENT_TYPE
'application/x-www-form-urlencoded'
DJANGO_SETTINGS_MODULE
'mtvskate.settings'
EDITOR
'/usr/bin/vim'
GATEWAY_INTERFACE
'CGI/1.1'
GIT_AUTHOR_NAME
'thedaniel'
GIT_COMMITTER_NAME
'thedaniel'
HOME
'/home/daniel'
HTTP_ACCEPT
'*/*'
HTTP_HOST
'neoglam.com:8668'
HTTP_USER_AGENT
'curl/7.15.5 (x86_64-pc-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8c zlib/1.2.3 libidn/0.6.5'
LOGNAME
'daniel'
MAIL
'/var/mail/daniel'
OLDPWD
'/home/daniel/git/mtvskate/lib'
PATH
'/usr/local/bin:/home/daniel:/home/daniel/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games'
PATH_INFO
'/api/user/update/'
PS1
'${debian_chroot:+($debian_chroot)}\\u@\\h:\\w\\$ '
PWD
'/home/daniel/git/mtvskate/mtvskate'
PYTHONPATH
'/home/daniel/git/mtvskate/lib:/home/daniel/lib/python2.5/site-packages'
QUERY_STRING
''
REMOTE_ADDR
'208.78.103.245'
REMOTE_HOST
''
REQUEST_METHOD
'POST'
RUN_MAIN
'true'
SCRIPT_NAME
''
SERVER_NAME
'208-78-103-245.slicehost.net'
SERVER_PORT
'8668'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.1 Python/2.5.1'
SHELL
'/bin/bash'
SHLVL
'2'
SSH_CLIENT
'76.90.172.41 54226 22'
SSH_CONNECTION
'76.90.172.41 54226 208.78.103.245 22'
SSH_TTY
'/dev/pts/0'
STY
'9025.pts-0.thedaniel'
SVN_SSH
'ssh -l daniel'
TERM
'screen'
TERMCAP
'SC|screen|VT 100/ANSI X3.64 virtual terminal:\\\n\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\n\t:li#69:co#275:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\n\t:cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:dc=\\E[P:DC=\\E[%dP:\\\n\t:im=\\E[4h:ei=\\E[4l:mi:IC=\\E[%d@:ks=\\E[?1h\\E=:\\\n\t:ke=\\E[?1l\\E>:vi=\\E[?25l:ve=\\E[34h\\E[?25h:vs=\\E[34l:\\\n\t:ti=\\E[?1049h:te=\\E[?1049l:us=\\E[4m:ue=\\E[24m:so=\\E[3m:\\\n\t:se=\\E[23m:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\\n\t:Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\\n\t:as=\\E(0:ae=\\E(B:\\\n\t:ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\\n\t:k0=\\E[10~:k1=\\EOP:k2=\\EOQ:k3=\\EOR:k4=\\EOS:k5=\\E[15~:\\\n\t:k6=\\E[17~:k7=\\E[18~:k8=\\E[19~:k9=\\E[20~:k;=\\E[21~:\\\n\t:F1=\\E[23~:F2=\\E[24~:F3=\\E[25~:F4=\\E[26~:F5=\\E[28~:\\\n\t:F6=\\E[29~:F7=\\E[31~:F8=\\E[32~:F9=\\E[33~:FA=\\E[34~:\\\n\t:kb=^H:kh=\\E[1~:@1=\\E[1~:kH=\\E[4~:@7=\\E[4~:kN=\\E[6~:\\\n\t:kP=\\E[5~:kI=\\E[2~:kD=\\E[3~:ku=\\EOA:kd=\\EOB:kr=\\EOC:\\\n\t:kl=\\EOD:km:'
TZ
'America/LosAngeles'
USER
'daniel'
WINDOW
'5'
_
'/usr/bin/python'
wsgi.errors
<open file '<stderr>', mode 'w' at 0x2b38bfb26210>
wsgi.file_wrapper
<class 'django.core.servers.basehttp.FileWrapper'>
wsgi.input
<socket._fileobject object at 0x152b5f0>
wsgi.multiprocess
False
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)

Settings

Using settings module mtvskate.settings

Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ACCOUNT_ACTIVATION_DAYS
30
ADMINS
(('Daniel', 'daniel@localhost'),)
ADMIN_FOR
()
ADMIN_MEDIA_PREFIX
'/media/'
ALLOWED_INCLUDE_ROOTS
()
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',)
AUTH_PROFILE_MODULE
'mtvskate.UserProfile'
BANNED_IPS
()
CACHE_BACKEND
'dummy://'
CACHE_MIDDLEWARE_KEY_PREFIX
''
CACHE_MIDDLEWARE_SECONDS
600
COMMENTS_ALLOW_PROFANITIES
False
COMMENTS_BANNED_USERS_GROUP
None
COMMENTS_FIRST_FEW
0
COMMENTS_MODERATORS_GROUP
None
COMMENTS_SKETCHY_USERS_GROUP
None
DATABASE_ENGINE
'mysql'
DATABASE_HOST
''
DATABASE_NAME
'mtvskate'
DATABASE_OPTIONS
{}
DATABASE_PASSWORD
'********************'
DATABASE_PORT
''
DATABASE_USER
'mtvskate'
DATETIME_FORMAT
'N j, Y, P'
DATE_FORMAT
'N j, Y'
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DEFAULT_CHARSET
'utf-8'
DEFAULT_CONTENT_TYPE
'text/html'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
()
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'********************'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_USE_TLS
False
FILE_CHARSET
'utf-8'
FIXTURE_DIRS
()
GITHOME
'/home/daniel/git/mtvskate/'
IGNORABLE_404_ENDS
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
IGNORABLE_404_STARTS
('/cgi-bin/', '/_vti_bin', '/_vti_inf')
INSTALLED_APPS
['django.contrib.auth', 'django.contrib.humanize', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'registration', 'djangoratings', 'threadedcomments', 'mtvskate']
INTERNAL_IPS
()
JING_PATH
'/usr/bin/jing'
LANGUAGES
(('ar', 'Arabic'), ('bn', 'Bengali'), ('bg', 'Bulgarian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('es', 'Spanish'), ('et', 'Estonian'), ('es-ar', 'Argentinean Spanish'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('ga', 'Irish'), ('gl', 'Galician'), ('hu', 'Hungarian'), ('he', 'Hebrew'), ('hr', 'Croatian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('ko', 'Korean'), ('km', 'Khmer'), ('kn', 'Kannada'), ('lv', 'Latvian'), ('lt', 'Lithuanian'), ('mk', 'Macedonian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('pl', 'Polish'), ('pt', 'Portugese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sr', 'Serbian'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))
LANGUAGES_BIDI
('he', 'ar', 'fa')
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_NAME
'django_language'
LOCALE_PATHS
()
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_URL
'/accounts/logout/'
MANAGERS
(('Daniel', 'daniel@localhost'),)
MEDIA_ROOT
'/home/daniel/git/mtvskate/mtvskate/media/'
MEDIA_URL
'/site_media/'
MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.doc.XViewMiddleware')
MONTH_DAY_FORMAT
'F j'
PREPEND_WWW
False
PROFANITIES_LIST
'********************'
ROOT_URLCONF
'mtvskate.urls'
SECRET_KEY
'********************'
SEND_BROKEN_LINK_EMAILS
False
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SETTINGS_MODULE
'mtvskate.settings'
SITE_ID
1
TEMPLATE_CONTEXT_PROCESSORS
('django.core.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media')
TEMPLATE_DEBUG
True
TEMPLATE_DIRS
('/home/daniel/git/mtvskate/templates/',)
TEMPLATE_LOADERS
('django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source')
TEMPLATE_STRING_IF_INVALID
''
TEST_DATABASE_CHARSET
None
TEST_DATABASE_COLLATION
None
TEST_DATABASE_NAME
None
TEST_RUNNER
'django.test.simple.run_tests'
TIME_FORMAT
'P'
TIME_ZONE
'America/LosAngeles'
TRANSACTIONS_MANAGED
False
URL_VALIDATOR_USER_AGENT
u'Django/0.97-pre-SVN-unknown (http://www.djangoproject.com)'
USE_ETAGS
False
USE_I18N
True
YEAR_MONTH_FORMAT
'F Y'

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.