Добавление товаров в корзину

Теперь необходимо добавить кнопку «Добавить в корзину» на страницу сведений о продукте. Отредактируйте файл views.py приложения shop и добавьте CartAddProductForm в представление product_detail, следующим образом:

from cart.forms import CartAddProductForm


def product_detail(request, id, slug):
    product = get_object_or_404(Product,
                                id=id,
                                slug=slug,
                                available=True)
    cart_product_form = CartAddProductForm()
    return render(request, 'shop/product/detail.html', {'product': product,
                                                        'cart_product_form': cart_product_form})

Отредактируйте шаблон shop/product/detail.html приложения shop и добавьте следующую форму цены продукта следующим образом:

<p class="price">${{ product.price }}</p>
<form action="{% url "cart:cart_add" product.id %}" method="post">
    {{ cart_product_form }}
    {% csrf_token %}
    <input type="submit" value="Add to cart">
</form>

Убедитесь, что сервер разработки работает командой python manage.py runserver. Теперь откройте в браузере http://127.0.0.1:8000/ и перейдите к странице сведений о продукте. Теперь он содержит форму для выбора количества перед добавлением продукта в корзину. Страница будет выглядеть следующим образом:

Выберите количество и нажмите кнопку "Добавить в корзину". Форма передается в cart_add view через POST. Представление добавляет продукт в корзину в сессии, включая текущую цену и выбранное количество. Затем он перенаправляет пользователя на страницу сведений о корзине, которая будет выглядеть как на следующем снимке экрана:

results matching ""

    No results matching ""