Django-从列表中选择许多实例/对象并将其存储在会话中以支付

时间:2019-05-06 12:52:59

标签: jquery ajax django django-models django-views

我建立了一个简单的电子商务网站,您可以在其中放置许多单个物品(一个一个),然后付款。

我的计划是,我可以一次从列表视图中选择/选择许多实例/对象,并在一个会话中一次全部显示/显示它们。

我只想问你如何开始,而不是代码示例。

  • 如何查看视图(必须是ajax视图)?没有ajax经验
  • 是否有用于解决该问题的django软件包?
  • 我需要为此序列化我的数据吗?

我希望你们将研究方向正确,然后我会尽力解决问题。

1 个答案:

答案 0 :(得分:0)

Django的会话就像字典一样,因此您可以构建可以是AJAX /非AJAX无关紧要的视图(最好是AJAX),以从购物车中添加/删除商品,并将产品信息存储在会话中,然后将其标记为已修改,以便保存。

您可以构建一个简单的类,例如将其抽象化。

class Cart:
    def __init__(self, request):
        self.session = request.session
        self.cart = self.session.setdefault('cart', {})

    def add_item(data):
        # your business login
        self.cart[data['product_id']] = data['id']
        self.session.modified = True

关于序列化数据,只需对端点进行AJAX调用并从请求中获取数据即可。