2013-03-04 76 views
0

我一直在閱讀Django會話框架,並沒有真正得到它。 我正在創建一個對象,並且想知道如何在視圖中使用django會話。 這是如何創建一個對象。如何在視圖中使用django會話框架?

def show_checkout(request): 
    if order.is_empty(request): 
     cart_url = urlresolvers.reverse('order_index') 
     return HttpResponseRedirect(cart_url) 
    if request.method == 'POST': 
     postdata = request.POST.copy() 
     form = forms.CheckoutForm(request.POST,postdata) 
     if form.is_valid(): 
      anon_user = User.objects.get(id=settings.ANONYMOUS_USER_ID) 
      obj = form.save(commit=False) 
      obj.created_by = anon_user 
      obj.modified_by = anon_user 
      obj.save() 
      if postdata['submit'] == 'place order': 
       reciept_url = urlresolvers.reverse('checkout_reciept') 
       return HttpResponseRedirect(reciept_url) 
    else: 
     form = forms.CheckoutForm 
    context = { 
     'form':form, 
    } 
    return render_to_response('checkout/checkout.html',context,context_instance=RequestContext(request)) 

任何幫助表示讚賞。 初學者程序員。

+0

你想要怎麼處理會話?你的問題不清楚。 – 2013-03-04 12:01:53

+0

現在我只想知道如何爲創建對象的給定anonymous_user創建會話。 – 2013-03-04 12:06:08

回答

1

如果我正確地理解了什麼你問,你可能只需要obj.save()後,要做到這一點:

request.session['obj_id'] = obj.id 

而且在未來的看法喲你可以再次訪問該鍵來獲取對象ID,然後從數據庫中檢索對象。

+0

嗨丹尼爾,我試過你說但它不工作,當我重定向,在另一個視圖中,我得到一個空的會議,任何想法? – ecampver 2013-09-07 22:53:22

2

持有會話的值,可以通過按鍵指派方式:

request.session[key] = value 

從會話檢索值您可以通過按鍵閱讀:

foo = request.session[key]