def index(request): for i in range(1,8): wheels=Wheel() wheels.name='goodsbanner-'+str(i)+'.jpg' wheels.img='img/'+wheels.name wheels.save() goods=Goods() goods.name='goodsbanner-'+str(i)+'.jpg' goods.img='img/'+goods.name goods.price=100*i goods.store_num=10*i goods.save() goods = Goods.objects.all()[1:5] wheels = Wheel.objects.all() tuijians = Tuijian.objects.all() token = request.session.get('token') userid = cache.get(token) if userid: user = User.objects.get(pk=userid) return render(request, 'index.html', context={'wheels': wheels, 'tuijians': tuijians, 'user': user, 'token': token, 'goods': goods}) else: return render(request, 'index.html', context={'wheels': wheels, 'tuijians': tuijians, 'goods': goods})
def goodsup(request): token = request.session.get('token') userid = cache.get(token) if userid: user = User.objects.get(pk=userid) if request.method == 'GET': return render(request, 'mine/goodsup.html') elif request.method == 'POST': goods = Goods() goodsname = request.POST.get('goodsname') price = request.POST.get('price') title = request.POST.get('title') num = request.POST.get('num') type = request.POST.get('type') file = request.FILES['file'] file.name = str(time.time()) + str(file.name) filepath = os.path.join(settings.GOODSIMG_ROOT, file.name) with open(filepath, 'wb') as fp: for info in file.chunks(): fp.write(info) goods.img = 'img/' + file.name goods.bigimg = 'img/' + file.name goods.name = goodsname goods.price = "¥" + price goods.num = num goods.title = title goods.fatherid = type goods.save() publish = Publish() publish.goods = goods publish.user = user publish.save() return redirect('app:index') else: return redirect('app:login')
def goods_update(): try: res = request.get_json() goods_id = res.get('goods_id') name = res.get('name') price = res.get('price') ku_num = res.get('ku_num') detail = res.get('detail') # {'image_data':[{'img_url':'http:xxx','is_min':1},{'img_url':'http:xxx','is_min':0}]} image_data = res.get('image_data') # img_url = res.get('img_url') postage = res.get('postage') admin_id = g.user_id Logging.logger.info('request_args:{0}'.format(res)) if not all([name, price, ku_num, image_data, postage]): return jsonify(errno=-1, errmsg='参数不完整') try: price = int(price) ku_num = int(ku_num) postage = int(postage) except Exception as e: Logging.logger.error('errmsg:{0}'.format(e)) return jsonify(errno=-1, errmsg='参数错误') if goods_id: # 修改 try: goods_id = int(goods_id) except Exception as e: Logging.logger.error('errmsg:{0}'.format(e)) return jsonify(errno=-1, errmsg='参数错误') goods_obj = Goods.query.get(goods_id) if not goods_obj: return jsonify(errno=-1, errmsg='当前商品不存在') goods_obj.name = name goods_obj.price = price now_available_num = ku_num - (goods_obj.ku_num - goods_obj.available_num) if now_available_num < 0: return jsonify(errno=-1, errmsg='商品库存数量不能小于原已兑换数量') goods_obj.available_num = now_available_num goods_obj.ku_num = ku_num goods_obj.detail = detail goods_obj.postage = postage goods_obj.admin_id = admin_id # goods_obj.img_url = img_url if image_data: # 删除原有的商品轮播图片 goods_img = GoodsImage.query.filter( GoodsImage.goods_id == goods_id).all() for img in goods_img: db.session.delete(img) # 添加新的图片 for image in image_data: image_obj = GoodsImage() image_obj.goods_id = goods_id image_obj.img_url = image.get('img_url') image_obj.is_min = image.get('is_min') db.session.add(image_obj) db.session.add(goods_obj) else: # 新增 goods = Goods.query.filter(Goods.name == name).first() if goods: return jsonify(errno=-1, errmsg='该商品名称已经存在') goods_obj = Goods() goods_obj.name = name goods_obj.price = price goods_obj.ku_num = ku_num goods_obj.available_num = ku_num goods_obj.detail = detail goods_obj.postage = postage goods_obj.admin_id = admin_id # goods_obj.img_url = img_url db.session.add(goods_obj) db.session.commit() for image in image_data: image_obj = GoodsImage() image_obj.goods_id = goods_obj.id image_obj.img_url = image.get('img_url') image_obj.is_min = image.get('is_min') db.session.add(image_obj) db.session.commit() return jsonify(errno=0, errmsg="OK") except Exception as e: Logging.logger.error('errmsg:{0}'.format(e)) db.session.rollback() return jsonify(errno=-1, errmsg='更新商品失败')