Это зависит.
1) Возможно, вы захотите сделать ваше приложение очень динамичным, чтобы другой элемент появился в вашей корзине без перезагрузки страницы. Это будет сделано путем объединения запросов AJAX (ваш сервер должен знать, что у вас есть в корзине) с манипулированием DOM (чисто JavaScript);
2) Вы можете использовать более классический подход. Добавление элемента в корзину - это просто запрос POST. Django обрабатывает запрос (сохраняет в сеансе или где-то еще текущую корзину) и генерирует новый HTML для вас.
Имхо, первый подход намного быстрее и выглядит лучше для конечного пользователя. Недостатком является то, что вы можете потерять некоторую ценную информацию, которая автоматически обновляется, когда пользователь перезагружает всю страницу (например, цена товара). Но это не должно быть проблемой, если мы говорим о магазине. Ведь как часто данные продукта меняются?