からすべての製品を削除し、[1]:https://github.com/lazybird/django-cartonを私の製品アプリにカート機能を追加します。カートに商品を追加したり、カートから商品を取り出したり、カートの内容を表示することができます。私はカートを空にする方法を解決しようとしています。ここで ジャンゴ[1]</p> <p>私は[ジャンゴ・カートン]を使用していますカート
はviews.pyです:def add(request):
cart = Cart(request.session)
product = Product.objects.get(id=request.GET.get('id'))
cart.add(product, price=product.price)
return redirect('shopping-cart-show')
def remove(request):
cart = Cart(request.session)
product = Product.objects.get(id=request.GET.get('id'))
cart.remove(product)
return redirect('shopping-cart-show')
def show(request):
return render(request, 'shopping/show-cart.html')
...と、ここで私はカートページ上の製品を表示しています方法は次のとおりです。私はいくつかの異なる方法を試してみた
{% for item in cart.items %}
<div class="col-md-6">
<a href="/{{item.product.id}}/">{{ item.product }}</a>
</div>
<div class="col-md-2">
<p>{{ item.quantity }}</p>
</div>
<div class="col-md-2">
<p>${{ item.subtotal }}</p>
</div>
<div class="col-md-2">
<a href="/shopping-cart/remove/?id={{ item.product.id }}" class="btn btn-sm btn-product">Remove</a>
</div>
{% endfor %}
カートをクリアしてください。私は{{cart.clear}}
をボタンに割り当てましたが、ボタンをクリックしたときにページをクリアしようとしているのに対し、これはまた、リフレッシュ時にページをクリアします。私はJava Scriptなしでこれを行うことを望んでいましたが、私は方法を見つけるのに苦労しています。すべての感謝の気持ちで助けてください。
EDIT:私のコメントパー
urlpatterns = [
url(r'^add/$', views.add, name='shopping-cart-add'),
url(r'^remove/$', views.remove, name='shopping-cart-remove'),
url(r'^show/$', views.show, name='shopping-cart-show'),
]
答えは、リンク先のGitHubページにあります。 –
'cart.clear'を指していると私は動作しないと言いました... – Steve
ビューで正しく呼び出すとうまくいきます。つまり、カートをクリアするビューに投稿する別のフォームが必要です。 –