def goods_upload(request,store_id): goods_1_type = GoodsType.objects.filter(parent__isnull=True) store = Store.objects.get(pk=store_id) if request.method == 'GET': return render(request,'goods/goods_upload.html',{'store':store,'goods_1_type':goods_1_type}) elif request.method == 'POST': name = request.POST['name'] price = request.POST['price'] stock = request.POST['stock'] intro = request.POST['intro'].strip() imgpath = request.FILES.get('imgpath') if name == "" or price == "" or stock == "" or intro == "" or imgpath == None: return render(request,'goods/goods_upload.html',{'store':store,'goods_1_type':goods_1_type,'error_msg':'字段不能为空!'}) # 其他数据 type_id = request.POST['type2'] goodstype = GoodsType.objects.get(pk=type_id) _store = Store.objects.get(pk=store_id) # 创建商品对象,完成上传操作 try: goods = Goods(name=name,price=price,stock=stock,intro=intro,goodstype=goodstype,store=_store) goods.save() except: return render(request, 'goods/goods_upload.html', {'store': store, 'goods_1_type': goods_1_type, 'error_msg': '上传字段有误'}) # 创建商品图片对象,保存商品图片 goods_image = GoodsImage(path=imgpath,goods=goods) goods_image.save() # 使用redirect 传递参数 return redirect(reverse('goods:goods_detail',args={store_id}))
def import_goods_data(): from goods.models import Goods, GoodsCategory, GoodsImage with open('data/product_data.json', 'r', encoding='utf8') as f: row_data = json.loads(f.read()) for goods_detail in row_data: goods = Goods() goods.name = goods_detail["name"] goods.market_price = float(int(goods_detail["market_price"].replace("¥", "").replace("元", ""))) goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("元", ""))) goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else "" goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else "" goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else "" category_name = goods_detail["categorys"][-1] category = GoodsCategory.objects.filter(name=category_name) if category: goods.category = category[0] goods.save() for goods_image in goods_detail["images"]: goods_image_instance = GoodsImage() goods_image_instance.image = goods_image goods_image_instance.goods = goods goods_image_instance.save()
def import_product_data(self, datas): from goods.models import Goods from goods.models import GoodsCategory from goods.models import GoodsImage for data in datas: good = Goods() good.name = data['name'] # 商品类别为外键 # 通过名称筛选出类别再赋值 category = data['categorys'][-1] good_category = GoodsCategory.objects.filter(name=category) if category: good.category = good_category[0] good.market_price = float(data['market_price'].replace('¥', '').replace('元', '')) good.shop_price = float(data['sale_price'].replace('¥', '').replace('元', '')) good.goods_brief = data['desc'] if data['desc'] is not None else '' good.goods_front_image = data['images'][0] if data['images'] is not None else '' good.goods_desc = data['goods_desc'] if data['goods_desc'] is not None else '' good.save() if data['images'] is not None: for image in data['images']: good_image = GoodsImage() good_image.goods = good good_image.image = image good_image.save()
def addgoods(self): for books_cate in book_data: category = GoodsCategory.objects.filter(pk=books_cate["category"]) if category: for book in books_cate["books"]: goods = Goods() goods.category = category[0] goods.name = book["name"] goods.goods_sn = book["ISBN"] goods.author = book["author"] goods.click_num = goods.sold_num = goods.fav_num = 0 goods.goods_num = 200 goods.shop_price = book["shop_price"] goods.market_price = goods.shop_price * 1.25 goods.bid = goods.shop_price * 0.8 goods.goods_brief = book["goods_brief"] goods.goods_desc = book["goods_desc"] goods.goods_front_image = book["images"][0] goods.is_hot = goods.is_new = False goods.save() book_image_list = [] for book_image in book["images"]: book_image_instance = GoodsImage() book_image_instance.image = book_image book_image_instance.goods = goods book_image_list.append(book_image_instance) GoodsImage.objects.bulk_create(book_image_list)
def deal_product(data): for goods_detail in data: goods = Goods() goods.name = goods_detail["name"] goods.market_price = float( int(goods_detail["market_price"].replace("¥", "").replace("元", ""))) goods.shop_price = float( int(goods_detail["sale_price"].replace("¥", "").replace("元", ""))) goods.goods_brief = goods_detail["desc"] if goods_detail[ "desc"] is not None else "" goods.goods_desc = goods_detail["goods_desc"] if goods_detail[ "goods_desc"] is not None else "" goods.goods_front_image = goods_detail["images"][0] if goods_detail[ "images"] else "" category_name = goods_detail["categorys"][-1] category = GoodsCategory.objects.filter(name=category_name) if category: goods.category = category[0] goods.save() for goods_image in goods_detail["images"]: goods_image_instance = GoodsImage() goods_image_instance.image = goods_image goods_image_instance.goods = goods goods_image_instance.save()
def goods_editor(request,goods_id): """ 编辑店铺商品 :param request: :param goods_id: :return: """ goods_1_type = GoodsType.objects.filter(parent__isnull=True) good = Goods.objects.get(pk=goods_id) store = Store.objects.get(pk=good.store_id) if request.method == 'GET': gooditem = { 'good': good, 'goods_1_type':goods_1_type, 'store':store } return render(request, 'goods/goods_editor.html', gooditem) elif request.method == 'POST': name = request.POST['name'] price = request.POST['price'] stock = request.POST['stock'] intro = request.POST['intro'].strip() imgpath = request.FILES.get('imgpath') if name == "" or price == "" or stock == "" or intro == "" or imgpath == None: repon = { 'good': good, 'store': store, 'goods_1_type': goods_1_type, 'error_msg': '字段不能为空!'} return render(request, 'goods/goods_editor.html',repon) # 其他数据 type_id = request.POST['type2'] goodstype = GoodsType.objects.get(pk=type_id) # 更新商品数据 nowgood = Goods.objects.get(pk=goods_id) nowgood.name =name nowgood.price =price nowgood.stock =stock nowgood.intro =intro nowgood.goodstype =goodstype nowgood.save() # 创建商品图片对象,保存商品图片 goods_image = GoodsImage(path=imgpath, goods=nowgood) goods_image.save() # 使用redirect 传递参数 return redirect(reverse('goods:goods_detail', args={store.id}))
def post(self, request): goodsTitle = request.POST.get("goodsTitle") price = request.POST.get("price") oprice = request.POST.get("oprice") category = int(request.POST.get("category")) address = request.POST.get("address") phone = request.POST.get("phone") description = request.POST.get("description") img1 = request.FILES.get("img1") img2 = request.FILES.get("img2") img3 = request.FILES.get("img3") img4 = request.FILES.get("img4") print category images = [] for img in [img1, img2, img3, img4]: if img is not None: images.append(img) if goodsTitle and price and address and phone and description and len( images) > 0: goods = Goods.objects.create(user=request.user, goods_title=goodsTitle, price=price, oprice=oprice, address=address, phone=phone, description=description, add_time=datetime.now(), category=category) goods.save() else: return render(request, "pubsuccess.html", { "status": 0, "msg": "发布失败!请按要求填写完整基本信息" }) for img in images: goodsImg = GoodsImage() goodsImg.goods = goods goodsImg.image = img goodsImg.add_time = datetime.now() goodsImg.save() return render(request, "pubsuccess.html", { "status": 1, "msg": "发布成功!" })
def import_goods(apps, schema_editor): from goods.models import Goods, GoodsCategory, GoodsImage for goods_detail in product_data.row_data: goods = Goods() goods.name = goods_detail['name'] goods.market_price = float(goods_detail['market_price'].replace('¥', '').replace('元', '')) goods.shop_price = float(goods_detail['sale_price'].replace('¥', '').replace('元', '')) goods.goods_brief = goods_detail['desc'] if goods_detail['desc'] is not None else '' goods.goods_desc = goods_detail['goods_desc'] if goods_detail['goods_desc'] is not None else '' goods.goods_front_image = goods_detail['images'][0] if goods_detail['images'] else '' category_name = goods_detail['categorys'][-1] category = GoodsCategory.objects.filter(name=category_name) if category: goods.category = category[0] goods.save() for goods_image in goods_detail['images']: goods_image_instance = GoodsImage() goods_image_instance.image = goods_image goods_image_instance.goods = goods goods_image_instance.save()
django.setup() from goods.models import Goods, GoodsCategory, GoodsImage from db_tools.data.product_data import row_data for goods_detail in row_data: goods = Goods() goods.name = goods_detail["name"] goods.market_price = float( int(goods_detail["market_price"].replace("¥", "").replace("元", ""))) goods.shop_price = float( int(goods_detail["sale_price"].replace("¥", "").replace("元", ""))) goods.goods_brief = goods_detail["desc"] if goods_detail[ "desc"] is not None else "" goods.goods_desc = goods_detail["goods_desc"] if goods_detail[ "goods_desc"] is not None else "" goods.goods_front_image = goods_detail["images"][0] if goods_detail[ "images"] else "" category_name = goods_detail["categorys"][-1] category = GoodsCategory.objects.filter(name=category_name) if category: goods.category = category[0] goods.save() for goods_image in goods_detail["images"]: goods_image_instance = GoodsImage() goods_image_instance.image = goods_image goods_image_instance.goods = goods goods_image_instance.save()
#商品详细介绍 instance.goods_desc = goods_detail["goods_desc"] if goods_detail[ "goods_desc"] else "" #商品的封面 instance.goods_front_image = goods_detail["images"][0] if goods_detail[ "images"] else "" #设置商品属于哪个商品类别 categorys_name = goods_detail["categorys"][-1] #'根茎类',或者 #查询数据库看看根茎类,是否存在 categorys = GoodsCategory.objects.filter(name=categorys_name) #返回的是列 if categorys: #商品数据哪个类目 instance.category = categorys[0] #保存商品数据 instance.save() #保存商品轮播图 for image in goods_detail["images"]: print(image) goods_image = GoodsImage() #商品--商品轮播图和商品建立关系 goods_image.goods = instance #图片 goods_image.image = image #保存商品轮播图 goods_image.save()
for product in row_data: goods = Goods() goods.name = product.get('name') goods.market_price = float( int(product.get('market_price').replace("¥", "").replace("元", ""))) goods.shop_price = float( int(product.get('sale_price').replace("¥", "").replace("元", ""))) goods.goods_brief = product.get('desc') if product.get( 'desc') is not None else "" goods.goods_desc = product.get('goods_desc') if product.get( 'goods_desc') is not None else "" goods.goods_front_image = product.get('images')[0] if product.get( 'images') else "" goodsImages = product.get('images') category_name = product.get('categorys')[-1] # objects.filter会获取一个集合 category = GoodsCategory.objects.filter(name=category_name) if category: goods.category = category[0] print(goods) goods.save() print('-------images------') for imgUrl in product.get('images'): image = GoodsImage() image.goods = goods image.image = imgUrl print(image.image) image.save()
import django pwd=os.path.dirname(os.path.realpath(__file__)) sys.path.append(pwd+"../") #django初始化 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Shop.settings") django.setup() from goods.models import Goods,GoodsCategory,GoodsImage#必须在django初始化之后才能引入 from db_tools.data.product_data import row_data for goods_detail in row_data: goods=Goods() goods.name=goods_detail["name"] goods.market_price=float(int(goods_detail["market_price"].replace("¥","").replace("元",""))) goods.shop_price=float(int(goods_detail["sale_price"].replace("¥","").replace("元",""))) goods.goods_brief=goods_detail['desc'] if goods_detail['desc'] is not None else "" goods.desc=goods_detail['goods_desc'] if goods_detail['goods_desc'] is not None else "" goods.goods_front_image=goods_detail['images'][0] if goods_detail['images'] else "" category_name=goods_detail['categorys'][-1] category=GoodsCategory.objects.filter(name=category_name) if category: goods.category=category[0] goods.save() for goods_image in goods_detail['images']: goods_image_obj=GoodsImage() goods_image_obj.goods=goods goods_image_obj.image=goods_image goods_image_obj.save()
''' if __name__ == "__main__": from goods.models import Goods, GoodsCategory, GoodsImage from db_tools.data.product_data import row_data for g in row_data: g_instance = Goods() g_instance.name = g['name'] g_instance.market_price = float( int(g["sale_price"].replace("¥", "").replace("元", ""))) g_instance.shop_price = float( int(g["sale_price"].replace("¥", "").replace("元", ""))) g_instance.goods_brief = g['desc'] if g['desc'] is not None else '' g_instance.goods_desc = g['goods_desc'] if g[ 'goods_desc'] is not None else '' g_instance.goods_front_image = g['images'][0] if g['images'] else '' # 类别 category = GoodsCategory.objects.filter(name=g['categorys'][-1]) if category: g_instance.category = category[0] g_instance.save() # goodsimage for img in g['images']: good_img_instane = GoodsImage() good_img_instane.goods = g_instance good_img_instane.image = img good_img_instane.save()