Monday, May 31, 2010

Empty QueryDict on POST

Hello!

I could use some help tracking down a problem here. I have a view that
starts as follows:

@login_required
@json_response
def save_exercise_week( request, week_id ):
formID = request.POST['formID']

But this returns a 500 error because the QueryDict is empty --
MultiValueDictKeyError at ... "Key 'formID' not found in <QueryDict: {}
>" In fact, according to the Django error page, there is no GET, POST,
or FILES data.

I've checked my HTML form over several times and it looks fine. In
Firebug, it says the POST sent is:

csrfmiddlewaretoken: ...
fatPercentage: 10
formID: formWeek4
weekNumber: 17
weight: 150.0
year: 2010

which is correct. So, it looks like somewhere between the sending of
the request and the calling of the view, the POST data is lost. I am
using an XHR request to retrieve this view, but that's working fine
for other views in my project. I would appreciate any ideas about what
might be causing this. I've attached more data below from the error.
Thank you!


CSRF_COOKIE '...'
DOCUMENT_ROOT '...'
GATEWAY_INTERFACE 'CGI/1.1'
HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8'
HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
HTTP_ACCEPT_ENCODING 'gzip,deflate'
HTTP_ACCEPT_LANGUAGE 'en-us,en;q=0.5'
HTTP_CONNECTION 'close'
HTTP_COOKIE 'csrftoken=6cd4642c36c8ff19dcb0c734a2d45fb6;
sessionid=8c8ddb6631837ba811a62c8076f7521f; logintheme=cpanel;
cprelogin=no;
cpsession=HVb7EJsM_GibQJqkt_Z2NvUxRp0F0VNWv1qQNRTqYwc09MfDogZU7pbsZjbGjmuf'
HTTP_HOST '...'
HTTP_USER_AGENT 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-
US; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10'
PATH '/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/
sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/
bin:/usr/sbin:/usr/bin:/usr/X11R6/bin'
PATH_INFO u'...'
PATH_TRANSLATED 'redirect:/cgi-bin/gfnn.fcgi/v2/exercise/save/week/4//
exercise/save/week/4/'
QUERY_STRING ''
REDIRECT_STATUS '200'
REDIRECT_TZ 'America/Los_Angeles'
REDIRECT_UNIQUE_ID 'TAO30K6EpiIAAFFKYocAAAKQ'
REDIRECT_URL '...'
REMOTE_ADDR '217.41.238.90'
REMOTE_PORT '53799'
REQUEST_METHOD 'GET'
REQUEST_URI '/v2/exercise/save/week/4/'
SCRIPT_FILENAME '.../cgi-bin/gfnn.fcgi'
SCRIPT_NAME u''
SERVER_ADDR '174.132.166.58'
SERVER_ADMIN '...'
SERVER_NAME '...'
SERVER_PORT '80'
SERVER_PROTOCOL 'HTTP/1.1'
SERVER_SIGNATURE '<address>Apache mod_fcgid/2.3.5
mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server
at gofitnow.net Port 80</address>\n'
SERVER_SOFTWARE 'Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1
mod_bwlimited/1.4 FrontPage/5.0.2.2635'
TZ 'America/Los_Angeles'
UNIQUE_ID 'TAO30K6EpiIAAFFKYocAAAKQ'
wsgi.errors <flup.server.fcgi_base.OutputStream object at 0x901a64c>
wsgi.input <flup.server.fcgi_base.InputStream object at 0x9050dac>
wsgi.multiprocess False
wsgi.multithread True
wsgi.run_once False
wsgi.url_scheme 'http'
wsgi.version (1, 0)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment