Django добавление в корзину не работает с вариациями продукта
Я создаю сайт электронной коммерции, на котором могут продаваться как продукты с вариациями, так и продукты без вариаций. У меня есть представление корзины, которое добавляет товар в корзину и создает экземпляр корзины, но теперь, когда я изменил его для товаров с вариациями, он не работает. Итак, если у товара есть вариации, например цвета и размеры, пользователи могут выбрать вариации, например красный и XL, и выбранные вариации отображаются в этом разделе product_detail.html:
<div id="selected-variations" class="mt-5">
<div class="text-title">Selected Variation:</div>
<div class="mt-3">
<span id="selected-color">Color: None</span> /
<span id="selected-size">Size: None</span>
</div>
</div>
Теперь я хочу взять оттуда выбранные значения вариаций и добавить товар в корзину с выбранными значениями. Но при этом js не работает, я думаю, что моя логика просмотра корзины в порядке. Вначале все казалось очень простым, так как я буквально печатаю выбранные значения вариаций от пользователя выше, просто должен был взять эти значения и создать экземпляр корзины с ними. Но теперь по какой-то причине мой код main.js
не принимает их. Есть ли способ исправить это?
Мой models.py:
Мои представления product_detail и cartview:
My My urls.py:
path('cart/', views.CartView.as_view(), name='cart'),
path('cart/update_quantity/', views.CartView.as_view(), name='update_quantity'),
path('cart/data/', views.CartView.as_view(), name='cart_data'),
path('cart/add/', views.CartView.as_view(), name='add'),
Мой product_detail.html:
Мой main.js:
Теперь, когда я нажимаю кнопку добавления в корзину, моя консоль говорит:
Product ID from button: 9
main.js:500
POST http://127.0.0.1:8000/cart/ 400 (Bad Request)
addToCart @ main.js:500
(anonymous) @ main.js:596
main.js:520 Error: Error: Failed to add product to cart
at main.js:510:15
(anonymous) @ main.js:520
Promise.catch (async)
addToCart @ main.js:520
(anonymous) @ main.js:596
main.js:500
POST http://127.0.0.1:8000/cart/ 400 (Bad Request)
addToCart @ main.js:500
(anonymous) @ main.js:681
main.js:520 Error: Error: Failed to add product to cart
at main.js:510:15