このコンテキストプロセッサページ(AJAX)をリロードせずにdjangoテンプレート変数を更新するには?
def cart_proc(request):
return (dict(cart=Cart(request)))
は、私は、変数{{カートは}}私のテンプレートでは、私はbase.htmlに{{cart.count}}を使用することができます提供します。 数は、カート内の製品の数をカウントする方法です。
これは私のjs
function addProduct(){
$('form.add-product').on('submit', function(){
var link = $(this)
var quantity = $(this).find('#id_quantity').val()
$.ajax({
'url': link.attr('action'),
'type': 'POST',
'dataType': 'json',
'data': {
'quantity': quantity,
'csrfmiddlewaretoken': $('input[name="csrfmiddlewaretoken"]').val()
},
'success': function(data, status, xhr){
alert('Success');
return false;
},
'error': function(xhr, status, error){
alert('Error on server. Please try again later.');
return false;
}
});
return false;
});
}
そして、私のビュー(私は私のカートのためのジャンゴ - カートを使用)
def add_to_cart(request, id):
form = QuantityForm(request.POST)
if form.is_valid():
product = Product.objects.get(id=id)
quantity = request.POST['quantity']
cart = Cart(request)
cart.add(product, product.price, quantity)
return JsonResponse({'status': 'success'})
私は、カートに製品を追加するとき、私は{{cart.countを}}更新したいですAJAXで、ページを再読み込みすることなく。これで、リロード後にのみ更新されます。
私はそれをしました。ご説明ありがとうございます。 –