redirect - How to store an object in django sessions framework -


i have django , trying store object in django session varaible, , trying access in redirected view, showing keyerror below

def payment(request):     if request.method == 'post':         form = cardform(request.post)         if form.is_valid():             data = form.cleaned_data             response = response_from_payment_gateway(data)             request.session['response'] = response             return httpresponseredirect(reverse('paygate:payment_success'))     else:         form = cardform(initial={'number':'4242424242424242'})     return render_to_response('payment_form.html',{'form': form})   def paymentsuccess(request):     print request.session['response'],"=================>"     response = none     return render_to_response("payment_success.html", {'response':response}, context_instance=requestcontext(request)) 

result

internal server error: /payment/success/ traceback (most recent call last):   file "/home/envs/app/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response     response = callback(request, *callback_args, **callback_kwargs)   file "/home/user/virtualenvironment/apps/app/payment/views.py", line 120, in paymentsuccess     print request.session['response'],"=================>"   file "/home/envs/app/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 46, in __getitem__     return self._session[key] keyerror: 'response' 

so getting response object payment gateway contains transaction details, , trying save in session framework variable called response above.

and trying access variable called response in redirected view paymentsuccess request.session['response'], , getting above mentioned error.

so how can send/save objects in sessions in django ?

in above response object of following form

{'status': 'success', 'response': <charge charge id=ch_2oxdxxxxnvw @ 0xb508e76cl> json: {   "amount": 100,    "amount_refunded": 0,    "balance_transaction": "txxxn_xxxxxxxxo",    "captured": true,   "currency": "usd",    "customer": null,    "description": null,  }} 

the interpreter never reaches part

request.session['response'] = response 

this means either our form isn't valid or method of request isn't post

try replace

if request.method == 'post': 

with

if request.post: 

and if doesn't work set request.session['response'] other value make sure sessions framework isn't broken. need debug further, i'm 100% sure isn't session problem.


Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -