2013-03-04 2 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

Что именно вы хотите делать с сеансом? Ваш вопрос непонятен. –

+0

пока я просто хочу знать, как я создам сеанс для данного анонимного пользователя, который создает объект. –

ответ

1

Если я правильно понял, что вы спрашиваете, вы, вероятно, просто нужно сделать это после того, как obj.save():

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

И в следующем вид йо u снова может получить доступ к этому ключу, чтобы получить идентификатор объекта, а затем извлечь объект из db.

+0

Привет, Дэниэл, я пробовал то, что вы говорите, но он не работает, когда я перенаправляю, в другом представлении я получаю пустой сеанс, любую идею? – ecampver

2

Для хранения значения в сессии, вы назначаете его по ключу:

request.session[key] = value 

Чтобы получить значение из сеанса прочитать это ключ:

foo = request.session[key] 
Смежные вопросы