基于Django框架的小购物网站(三--3)功能模块实现,主写views

cartinfo的views:购物车添加等

from django.shortcuts import render
from .models import *
from userinfo.models import *
from memberapp.models import *
from django.db import DatabaseError
import logging
import json
import datetime
from django.http import HttpResponse


# Create your views here.
def add_cart(request):
    #添加购物车功能
    #获取前端数据(商品id,商品数量)
    #获取用户id
    #查询
    #存
    #返回
    #
    # 声明一个新的购物车
    # 获取前端数据(商品id,商品数量)
    # 获取用户id
    # 查询用户
    # 查询商品
    # 判断商品是否存在
    # 查询购物车中该用户是否有此商品
    #     商品数量转换成int
    #     如果有加上相应数量商品
    #     没有直接保存
    # 返回页面
    new_cart = CartInfo()
    good_id = request.GET.get('goodid')
    good_count = request.GET.get('gcount')
    user_id = request.session.get('user_id')
    good_ = Goods.objects.filter(id=good_id)
    user_ = UserInfo.objects.get(id=user_id)
    if len(good_) > 0:
        new_cart.user = user_
        new_cart.goods = good_[0]
    else:
        content = {'static':'OK','text':'无该商品'}
        return HttpResponse(json.dumps(content))
        # return render(request,'index.html')
    new_cart.ccount = int(good_count)
    try:
        oldgo = CartInfo.objects.filter(user_id=user_id,goods_id=good_id)
        if len(oldgo) > 0:
            oldgo[0].ccount = oldgo[0].ccount + new_cart.ccount
            oldgo[0].save()
        else:
            new_cart.save()
    except DatabaseError as e:
        logging.warning(e)
    content = {'static': 'OK', 'text': '添加成功'}
    return HttpResponse(json.dumps(content))
    # return render(request,'index.html')


def cart_info(request):
    # 查看购物车功能
    user_id = request.session.get('user_id')
    find_goods = CartInfo.objects.filter(user_id=user_id)
    return render(request,'cart.html',{'find_goods':find_goods})


def order(request):
    #查看商品功能
    user_id = request.session.get('user_id')
    adss = Address.objects.filter(user_id=user_id)
    content = {"adss":adss}
    return render(request,'order.html',content)


def add_order(request):
    # 添加商品功能
    # 获取数据
    # 存数据
    # 返回结果
    user_id = request.session.get('user_id')
    orderdetail = request.POST.get('acot')
    adsname = request.POST.get('adsname')
    adsphone = request.POST.get('adsphone')
    ads = request.POST.get('ads')
    acot = 2
    acount = 22.00
    orderNo = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    print(user_id,orderdetail,adsname,adsphone,ads)
    try:
        user = UserInfo.objects.get(id=user_id)
        order = Order.objects.create(orderNo=orderNo,orderdetail=orderdetail,adsname=adsname,adsphone=adsphone,ads=ads,acot=acot,acount=acount,user=user)
    except DatabaseError as e:
        logging.warning(e)
    content={"static":"OK"}
    return HttpResponse(json.dumps(content))

def delete_cart(request):
    #删除购物车功能
    user_id = request.session.get('user_id')
    cart_id = request.GET.get('cart_id')
    try:
        delcart= CartInfo.objects.filter(user_id=user_id,id=cart_id)
        delcart.delete()
    except DatabaseError as e:
        logging.warning(e)
    content={"static":"OK","msg":"删除成功"}
    return HttpResponse(json.dumps(content))

购物网站基本功能基本就这些了,我若干想起来还有什么要写的再补上吧

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值