【问题标题】:WSGIRequest' object has no attribute 'session_keyWSGIRequest' 对象没有属性 'session_key
【发布时间】:2021-12-26 14:27:35
【问题描述】:

当我尝试访问会话时出现此错误我无法理解为什么它不理解什么是会话它在已安装的应用程序中它知道什么是会话

def _cart_id(request):
    cart = request.session_key
    if not cart:
        cart = request.session.create()
    return cart

def add_cart(request,id):
    prod = Product.objects.get(id = id)
    try:
        cart = Cart.objects.get(cart_id = _cart_id(request))

    except Cart.DoesNotExist:
        cart = Cart.objects.create(
            cart_id = _cart_id(request)
        )
    cart.save()

    try:
        cart_item = CartItem.object.get(product = prod,cart = cart)
        cart_item.quantity += cart_item.quantity
    except CartItem.DoesNotExist:
        cart_item = CartItem.objects.create(
            product = prod,
            quantity = 1,
            cart = cart, 
        )
        cart_item.save()

    return redirect('/shop/') 

【问题讨论】:

    标签: django django-models django-views django-forms django-templates


    【解决方案1】:

    request 对象没有session_key,但有sessionsession_keysession 内部。然后:

    def _cart_id(request):
        # Not request.session_key but request.session.session_key
        cart = request.session.session_key
        if not cart:
            cart = request.session.create()
        return cart
    

    【讨论】:

      猜你喜欢
      • 2016-07-30
      • 2017-02-02
      • 2015-04-15
      • 2013-05-20
      • 2016-09-22
      • 2015-10-19
      • 2021-11-16
      • 2012-07-31
      • 2011-04-23
      相关资源
      最近更新 更多