我正在做一个电子商务网站,现在我有一个一口价按钮,当按下将添加项目到购物车和重定向到“购物车”页面,我想有一个“addtocart”botton将产品添加到卡,但不会重定向下相同的功能。请帮帮我
手推车/模式.py你知道吗
def buy_now(request, slug):
request.session.set_expiry(120000)
try:
the_id = request.session['cart_id']
except:
new_cart = Cart()
new_cart.save()
request.session['cart_id'] = new_cart.id
the_id = new_cart.id
cart = Cart.objects.get(id=the_id)
try :
product = Product_info.objects.get(slug=slug)
except Product_info.DoesNotExist:
pass
product_var = []
if request.method == 'POST':
qty = request.POST['qty']
for item in request.POST:
key = item
val = request.POST[key]
print(key,val)
try:
v = Variation.objects.get(product = product,cat__iexact=key,title__iexact=val)
product_var.append(v)
except:
pass
cart_item = CartItem.objects.create(cart = cart,product = product)
if len(product_var) > 0:
cart_item.variations.add(*product_var)
cart_item.quantity = qty
cart_item.save()
return HttpResponseRedirect(reverse("cart"))
return HttpResponseRedirect(reverse("cart"))
你知道吗模板.html你知道吗
<form class="form pull-right" method='POST' action="{% url 'buy_now' product.slug %}"> {% csrf_token %}
{% if product.variation_set.all %}
{% if product.variation_set.models %}
<select class = "form-control" name='model'>
{% for item in product.variation_set.models %}
<option value ="{{ item.title }}">{{ item.title }}</option>
{% endfor %}
</select>
{% endif %}
{% if product.variation_set.sizes %}
<select class = "form-control" name='size'>
{% for item in product.variation_set.sizes %}
<option value ="{{ item.title }}">{{ item.title }}</option>
{% endfor %}
</select>
{% endif %}
{% if product.variation_set.colors %}
<select class = "form-control" name='color'>
{% for item in product.variation_set.colors %}
<option value ="{{ item.title }}">{{ item.title }}</option>
{% endfor %}
</select>
{% endif %}
{% endif %}
<input class = 'form-control' name="qty" type="number"/ value="1"/>
<input class = 'btn btn-danger'type="submit" value="Buynow"/>
</form>
您可以在同一视图中使用它,并用
name
属性分隔按钮。你知道吗那么在你看来:
你的问题是局部的,但我认为你需要重定向并执行
POST
操作(包括添加到购物车和立即购买)。你知道吗模板中的按钮
更新
并为添加到购物车功能编写
AJAX POST
方法视图应该如下所示添加到购物车 将表单、模型和文件更改为实际值
然后您可以使用buynow视图从“立即购买”按钮提交表单
对于添加到购物车
相关问题 更多 >
编程相关推荐