【问题标题】:How to stay on Same Product after Add to Cart?添加到购物车后如何留在同一产品上?
【发布时间】:2022-08-23 19:23:18
【问题描述】:

我使用 Django 制作我的电子商务网站。当我在网站上使用“添加到购物车”功能时,刷新页面并转到页面顶部。但我希望用户在添加到购物车后留在同一个产品上。

添加到购物车功能是使用 Django 中的 Session 而不是 JS 实现的。

所以我希望当用户使用添加到购物车功能时,用户留在同一个产品上。

我认为使用 JS 可以做到这一点。

这是添加到购物车按钮

<form action=\"{% url \'cart:AddCart\' %}\" method=\"POST\">{% csrf_token %}
      <input hidden type=\"text\" name=\"product\" value=\"{{i.id}}\">
      <button id=\"clickMe\" class=\"main-btn cart cart-btn\" style=\"padding: 5px 32px\">Add <i class=\"fa-solid fa-cart-shopping\"></i></button>
</form>
  • 这个question 可以帮助你
  • 最好的解决方案是使用ajax
  • 你能提供一个代码
  • 如果你不知道如何使用 JavaScript 和 AJAX,那么你可以在&lt;form&gt; 中发送当前 url,Django 可能会重定向回这个 url,而不是显示其他页面。

标签: javascript python html django


【解决方案1】:

用户reverse函数

在处理 AddCart 的函数中,它应该是这样的 在views.py中

def addcart(request,id):
 if request.method == "POST":
    //handle the request and store it to the database
    return HttpResponseRedirect(reverse("addcart", args=(id,)))

并且 url.py 应该看起来像这样

    path("addtocat/<int:id>", views.listing, name="addcart"),

另一种方法是检查请求是 POST 还是 GET ,如果它是 get 你应该正常呈现模板页面如果它是 POST 使用反向功能

希望有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2012-06-09
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多