首页 > 解决方案 > 'dict' 对象在 add_coupon 中没有属性 'coupon' ecommerce/store/views.py,第 254 行

问题描述

我有这个正在创建的电子商务网站django3 ,但我遇到了这个问题。

AttributeError at /add-coupon/
'dict' object has no attribute 'coupon'

如果有人可以帮忙请!!!

我的看法

def get_coupon(request, code):
    try:
        coupon = Coupon.objects.get(code = code)
        return coupon
    except ObjectDoesNotExist:
        messages.info(request, 'This coupon does not exist')
        return redirect('checkout')


    def add_coupon(request):
        data = cartData(request)
        if request.method == "POST":
            form = CouponForm(request.POST or None)
            if form.is_valid():
                try:
                    code = form.cleaned_data.get('code')
                    order = data['order']
                    order.coupon = get_coupon(request, code)
                    order.save()
                    messages.success(request, 'Successfully added coupon!')
                    return redirect('checkout')
                except ObjectDoesNotExist:
                    messages.info(request, 'You do not have an active order')
                    return redirect('checkout')
        return redirect('checkout')

我的客人订单功能

def guestOrder(request, data):
    name = data['form']['name']
    email = data['form']['email']

    cookieData = cookieCart(request)
    items = cookieData['items']

    user, created = User.objects.get_or_create(
            username = name,
            email=email,
            )
    #user.name = name
    user.save()

    order = Order.objects.create(
        user=user,
        complete=False,
        coupon=None, #todelete
        )

    for item in items:
        product = Product.objects.get(id=item['id'])
        orderItem = OrderItem.objects.create(
            product=product,
            order=order,
            quantity=item['quantity'],
        )
    return user, order

标签: pythondjangoe-commerce

解决方案


推荐阅读