Как мы можем разрешить метод, запрещенный (GET): / cart / add / 2 / - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь добавить товары в корзину с помощью кнопки (+) в таблице сведений о товарах. Поэтому, когда я нажимаю кнопку «Добавить» (т. Е. Кнопку (+)) для добавления товаров в корзину, я получаю сообщение об ошибке «Метод не разрешен (GET) с идентификатором выбранного товара».

Вот код моей корзины просмотров:

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'],
                update_quantity=cd['update'])
    return redirect('cart:cart_detail')

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)
    for item in cart:
        item['update_quantity_form'] = CartAddProductForm(initial={'quantity': item['quantity'],'update': True})
    return render(request, 'cart/detail.html', {'cart': 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'),
]

Product details

Это кнопка шаблона для добавление товаров в корзину:

<td>

     <a href="#"><i class="fa fa-trash" style="color:red"></i></a>
     <a href="#"><i class="fa fa-pencil"></i></a>
     <a href="{% url 'cart:cart_add' product.id %}"><i class="fa fa-plus-square"></i></a>
 </td>

В чем может быть ошибка, пожалуйста.

...