我无法将产品添加到购物车中。我想看看产品是否添加到购物车。但这个过程没有发生。我使用 Django 作为后端,使用 PostgresSQL 作为 DB,使用 HTML、CSS 和 Javascript 作为后端。
代码在这里:
views.py
PRODUCT DETAIL
class product_detail(View):
def get(self, request, pk):
product_detail = Product.objects.get(pk=pk)
return render(request, 'detailpage/productdetail.html', {'product_detail':product_detail})
ADD TO CART
def addProduct(request):
user = request.user
product_id = request.GET.get('product_id')
product_cart = Product.objects.get(id=product_id)
Cart(user=user, product=product_cart).save
return render(request, 'cart/addtocart.html')
urls.py
app_name = 'main'
urlpatterns = [
path('product_detail/<int:pk>', views.product_detail.as_view(), name='product_detail'),
path('addProduct/', views.addProduct, name ='addProduct'),
]
productdetail.html
...
<form action="/addProduct">
<input type="hidden" name="product_id" value="{{product_detail.id}}" id="product_id">
<button type="submit" class="btn btn-info">Add</button>
</form>
...
models.py
class Cart(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)
quantity = models.PositiveIntegerField(default=1)
def __str__(self):
return str(self.id)
点击添加按钮后地址栏中的网址格式
http://127.0.0.1:8000/addProduct/?product_id=2342
答案 0 :(得分:2)
您没有调用 save()
方法。
def addProduct(request):
user = request.user
product_id = request.GET.get('product_id')
product_cart = Product.objects.get(id=product_id)
Cart(user=user, product=product_cart).save()
return render(request, 'cart/addtocart.html')