0

我一直在阅读 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))

任何帮助表示赞赏。初级程序员。

4

2 回答 2

2

要在会话中保存一个值,您可以按键分配它:

request.session[key] = value

要从会话中检索值,您可以通过键读取它:

foo = request.session[key]
于 2013-03-04T12:50:52.370 回答
1

如果我正确理解了您的要求,您可能只需要在以下操作后执行此操作obj.save()

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

在下一个视图中,您可以再次访问该键以获取对象 ID,然后从数据库中检索对象。

于 2013-03-04T12:51:09.657 回答