I ended up getting this to work with (what feels like) a hack:
To save the session: -- request.session['form_post_query_string'] = request.POST.urlencode() return HttpResponseRedirect(request.META['HTTP_REFERER']) -- then to later access it and use it: -- from django.http import QueryDict q = QueryDict(request.session['form_post_query_string']) comment_form = CommentForm(q) -- Anyone know why I cant store request.POST.copy() in the session? Is that a bug? mike Mike Chambers wrote: > Thanks for the input. > > I am narrowing down the issue. Basically, If i try to place a copy of > the request.POST data into the session, nothing will get stored: > > i.e. > > -- > post_copy = request.POST.copy() > request.session['form_post_data'] = post_copy > return HttpResponseRedirect(request.META['HTTP_REFERER']) > -- > > After this > > request.session.keys() returns [] (an empty list) > > if I do: > > post_copy = request.POST.copy() > request.session['form_post_data'] = post_copy > print request.session.get('form_post_data') > return HttpResponseRedirect(request.META['HTTP_REFERER']) > > this outputs: > -- > <QueryDict: {u'comment': [u''], u'user_name': [u''], u'user_email': > [u''], u'user_url': [u'']}> > -- > > However, it it still not actually saved and available during a seperate > request. > > mike > > > Rajesh Dhawan wrote: >> >> >> On May 13, 3:23 pm, Mike Chambers <[EMAIL PROTECTED]> wrote: >>> I am running into an issue where my session values are not remembered if >>> I do an HTTP redirect. >>> >>> If I do: >>> >>> -- >>> request.session['a'] = 'aaaa' >>> return HttpResponseRedirect(request.META['HTTP_REFERER'] >>> -- >>> >>> The session variable a will not be available once the browser is >>> redirected. >>> >>> If I do: >>> >>> -- >>> request.session['a'] = 'aaaa' >>> render_to_response(...) >>> -- >>> >>> Then the session is available as expected. >>> >>> I have tried to set: >>> >>> request.session.modified = True >>> >>> but that does not change the behavior. >>> >>> Can session variables be set when doing a redirect? >> >> Absolutely. >> >> You should ensure that request.META['HTTP_REFERER'] doesn't redirect >> to a different domain name that happens to map to the same >> application. For example, if you set the session in a view at >> http://127.0.0.1/myview/ and that view redirects to >> http://localhost/myview2/, >> you will not be able to access the previous session. > >> --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---