首页 > 解决方案 > 获取错误 add() 在 Django 中得到了一个意外的关键字参数“override_quantity”

问题描述

当我运行 URL http://localhost:8000/cart/add/1/ 它给我错误: TypeError: add() got an unexpected keyword argument 'override_quantity'。谁能帮助我为什么会出现此错误?在这里,我添加了我的整个代码。

网址.py

app_name = 'cart'
urlpatterns = [
path('', views.cart_detail, name='cart_detail'),
path('add/<int:product_id>/', views.cart_add, name='cart_add'),
path('remove/<int:product_id>/', views.cart_remove, name='cart_remove'),
]

表格.py

from django import forms
PRODUCT_QUANTITY_CHOICES = [(i, str(i)) for i in range(1,21)]

class CartAddProductForm(forms.Form):
    quantity = forms.TypedChoiceField(
        choices = PRODUCT_QUANTITY_CHOICES, coerce=int)

    override = forms.BooleanField(required=False, initial = False, widget=forms.HiddenInput)

视图.py

@require_POST
def cart_add(request, product_id):
    cart = Cart(request)
    product = get_object_or_404(Product, id=product_id)
    form = CartAddProductForm(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        cart.add(product=product, quantity=cd['quantity'], override_quantity=cd['override'])           
    return redirect('cart:cart_detail')            

@require_POST
def cart_remove(request, product_id):
    cart = Cart(request)
    product = get_object_or_404(Product, id=product_id)
    cart.remove(product)
    return redirect('cart:cart_detail')


def cart_detail(request):
    cart = Cart(request)
    return render(request, 'cart/detail.html', {'cart': cart})

标签: pythondjango

解决方案


推荐阅读