Exemple #1
0
def create_order(request):
    # 检查用户是否登录
    util = Util()
    username = util.check_user(request)
    if username == '':
        uf = LoginForm()
        return render(request, 'index.html', {'uf': uf, 'error': '请登录后再进入'})
    else:
        user_list = get_object_or_404(User, username=username)
        address_id = request.POST.get('address', '')
        if address_id == '':
            address_list = Address.objects.filter(user_id=user_list.id)
            return render(request, 'view_address.html', {
                'user': username,
                'addresses': address_list,
                'error': '必须选择一个地址'
            })
        else:
            orders = Orders()
            orders.address_id = int(address_id)
            orders.status = False
            orders.save()  # 创建一个总订单
            mychart_list = util.deal_cookes(request)  # 获取购物车中的所有商品列表
            # 将每个商品创建一个订单
            for key in mychart_list:
                Order.objects.create(order_id=orders.id,
                                     goods_id=key,
                                     user_id=user_list.id,
                                     count=int(mychart_list[key]))
            # 清除所有的cookies并显示总订单
            response = HttpResponseRedirect('/view_orders/' + str(orders.id))
            for key in mychart_list:
                response.set_cookie(key, 1, 0)
            return response
Exemple #2
0
def create_order(request):
    '''
    生成订单信息
    :return:
    '''
    util = Util()
    username = util.check_user(request)
    if username == "":
        uf = LoginForm()
        return render(request, "index.html", {'uf': uf, 'error': "请登录后再进入!"})
    else:
        # 根据登录的用户名获得用户信息
        user_list = get_object_or_404(User, username=username)
        # 从选择地址信息中获得建立这个订单的送货地址id
        address_id = (request.POST.get('address', "")).strip()
        # 如果没有选择地址, 就返回错误提示信息
        if address_id == "":
            address_list = Address.objects.filter(user_id=user_list.id)
            return render(request, 'view_address.html', {
                'user': username,
                'addresses': address_list,
                'error': '必须选择一个地址!'
            })
        # 否则开始形成订单
        # 把数据存入数据库中的总订单表中
        orders = Orders()
        # 获得订单的收货地址的id
        orders.address_id = int(address_id)
        # 设置订单的状态为未付款
        orders.status = False
        # 保存总订单信息
        orders.save()
        # 准备把订单中的每个商品存入单个订单表中
        # 获得总订单id
        orders_id = orders.id
        # 获得购物车中的内容
        cookie_list = util.deal_cookes(request)
        # 遍历购物车
        for key in cookie_list:
            # 构建对象Order()
            order = Order()
            # 获得总订单id
            order.order_id = orders_id
            # 获得用户id
            order.user_id = user_list.id
            # 获得商品id
            order.goods_id = key
            # 获得数量
            order.count = int(cookie_list[key])
            # 保存单个订单信息
            order.save()
        # 清除所有cookies, 并且显示这个订单
        response = HttpResponseRedirect('/view_order/' + str(orders_id))
        for key in cookie_list:
            response.set_cookie(str(key), 1, 0)
        return response
Exemple #3
0
def remove_chart_all(request):
    # 检查用户是否登录
    util = Util()
    username = util.check_user(request)
    if username == '':
        uf = LoginForm()
        return render(request, 'index.html', {'uf': uf, 'error': '请登录后再进入'})
    else:
        my_chart_list = util.deal_cookes(request)
        response = HttpResponseRedirect('/view_chart/')
        for key in my_chart_list:
            response.set_cookie(str(key), 1, 0)
        return response
Exemple #4
0
def remove_chart_all(request):
    util = Util()
    username = util.check_user(request)
    if username == "":
        uf = LoginForm()
        return render(request, "index.html", {'uf': uf, "error": "请登录后再进入"})
    else:
        response = HttpResponseRedirect('/view_chart/')
        #获取所有的购物车中的内容
        cookie_list = util.deal_cookes(request)
        #遍历购物车中的内容,一个一个地删除
        for key in cookie_list:
            response.set_cookie(str(key), 1, 0)
        return response
Exemple #5
0
def remove_chart_all(request):
    '''
    删除购物车中所有的商品
    :param request:
    :return:
    '''
    util = Util()
    username = util.check_user(request)
    if username == "":
        uf = LoginForm()
        return render(request, "index.html", {'uf': uf, 'error': '请登录后再操作!'})
    else:
        response = HttpResponseRedirect('/view_chart/')
        # 获取购物车中的所有商品
        cookie_list = util.deal_cookes(request)
        # 遍历购物车中的商品, 一个一个地删除
        for key in cookie_list:
            response.set_cookie(str(key), 1, 0)
        return response