def goods_release_related(request): if request.method == 'GET': return render_to_response('back/goods_release.html',{'form':goods_description_Form()},context_instance=RequestContext(request)) elif request.method=='POST': #baseInfoForm title = request.POST.get('title', '') shop_id = request.POST.get('shop_id', '') price = request.POST.get('v_price', '') style = request.POST.get('style', '') market_time = request.POST.get('market_time', '') function = request.POST.get('function', '') shoe_type = request.POST.get('shoe_type', '') sex_type = request.POST.get('sex_type', '') goods_spec_description=request.POST.get('goods_spec_description',''); now=datetime.datetime.now() pic_files = request.FILES.get('cover', None) if pic_files == None: return HttpResponse('file not existing in the request') # 写入文件 file_name = 'cover_image_%d.jpg' % random.randint(0,100000) # 不能使用文件名称,因为存在中文,会引起内部错误 file_dir='%supload/image/cover/'%STATICFILES_DIRS relative_dir='/static/upload/image/cover/' file_full_path = os.path.join(file_dir, file_name) goods_pic_url=os.path.join(relative_dir, file_name) dest = open(file_full_path,'wb+') dest.write(pic_files.read()) dest.close() if not title or not shop_id or not goods_pic_url or not price or not style or not market_time or not function or not shoe_type or not sex_type or not goods_spec_description: return HttpResponse("请填写完整表单") sale_status=0 goods_status=1 shoe=Goods_shoe(shop_id=shop_id ,goods_title=title,goods_pic_url=goods_pic_url,sale_status=sale_status,goods_number=0,goods_num_saled=0,goods_price=price, goods_date_added=now ,goods_status=goods_status,goods_category=shoe_type, goods_sex=sex_type, goods_style=style,goods_listed_time=market_time,goods_function=function,max_price=price,min_price=price,goods_spec_description=goods_spec_description) shoe.save() goods_id=shoe.goods_id max_price=price min_price=price #colorPicForm color_input_num = request.POST.get('color_input_num', '') for i in range(int(color_input_num)): i=i+1 if i==1: pic_color = request.POST.get('pic_color', '') color_image = request.FILES.get('color_image', None) if color_image == None: return HttpResponse('file not existing in the request') # 写入文件 file_name = 'color_image_%d.jpg' % random.randint(0,10000000) file_dir='%supload/image/color/'%STATICFILES_DIRS relative_dir='/static/upload/image/color/' file_full_path = os.path.join(file_dir, file_name) goods_pic_url=os.path.join(relative_dir, file_name) dest = open(file_full_path,'wb+') dest.write(color_image.read()) dest.close() pictures=Goods_color_picture(goods_id=goods_id,goods_color=pic_color,goods_pic_url=goods_pic_url) pictures.save() else: pic_color_str='pic_color'+str(i) color_image_str='color_image'+str(i) pic_color=request.POST.get(pic_color_str, '') color_image=request.FILES.get(color_image_str, None) if color_image == None: return HttpResponse('file not existing in the request') # 写入文件 file_name = 'color_image_%d.jpg' % random.randint(0,10000000) file_dir='%supload/image/color/'%STATICFILES_DIRS relative_dir='/static/upload/image/color/' file_full_path = os.path.join(file_dir, file_name) goods_pic_url=os.path.join(relative_dir, file_name) dest = open(file_full_path,'wb+') dest.write(color_image.read()) dest.close() pictures=Goods_color_picture(goods_id=goods_id,goods_color=pic_color,goods_pic_url=goods_pic_url) pictures.save() #sizeColorForm all_num=0 size_input_num = request.POST.get('size_input_num', '') for i in range(int(size_input_num)): i=i+1 if i==1: color = request.POST.get('color', '') price = request.POST.get('price', '') min_price=price max_price=price size = request.POST.get('size', '') num = request.POST.get('num', '') all_num=all_num+int(num) goods=Goods_no(goods_id=goods_id,goods_number=num,goods_num_saled=0,goods_color=color,goods_size=size,goods_price=price) goods.save() else: color_str='color'+str(i) price_str='price'+str(i) size_str='size'+str(i) num_str='num'+str(i) color=request.POST.get(color_str, '') price=request.POST.get(price_str, '') if price<min_price: min_price=price if price>max_price: max_price=price size=request.POST.get(size_str, '') num=request.POST.get(num_str, '') all_num=all_num+int(num) goods=Goods_no(goods_id=goods_id,goods_number=num,goods_num_saled=0,goods_color=color,goods_size=size,goods_price=price) goods.save() # goods_id=10006 # goods_color="深蓝色" # goods_pic_url="/static/image/" # color=Goods_color_picture(goods_id=goods_id,goods_color=goods_color,goods_pic_url=goods_pic_url); # color.save() try: shoe=Goods_shoe.objects.get(goods_id=goods_id) except ObjectDoesNotExist: # 理论上需要加入回滚机制 return Http404() shoe.goods_number=all_num shoe.max_price=max_price shoe.min_price=min_price shoe.save() return HttpResponse("success")
def goods_edit(request,goods_id): if request.method == 'GET': try: goods_id=int(goods_id) except ValueError: return Http404() try: good=Goods_shoe.objects.get(goods_id=goods_id) except ObjectDoesNotExist: return Http404() goods_data={} goods_data['title']=good.goods_title goods_data['goods_id']=good.goods_id goods_data['shop_id']=good.shop_id goods_data['url']=good.goods_pic_url goods_data['price']=good.goods_price goods_data['style']=good.goods_style goods_data['description']=good.goods_spec_description goods_data['category']=good.goods_category goods_data['sex']=good.goods_sex goods_data['time']=good.goods_listed_time goods_data['function']=good.goods_function try: colors=Goods_color_picture.objects.filter(goods_id=goods_id) except ObjectDoesNotExist: return Http404() color_datas=[] for color in colors: tmp={} tmp['id']=color.id tmp['color']=color.goods_color tmp['url']=color.goods_pic_url color_datas.append(tmp) try: goods_no=Goods_no.objects.filter(goods_id=goods_id) except ObjectDoesNotExist: return Http404() goods_no_datas=[] for good in goods_no: tmp={} tmp['goods_no']=good.goods_no tmp['number']=good.goods_number tmp['num_saled']=good.goods_num_saled tmp['color']=good.goods_color tmp['size']=good.goods_size tmp['price']=good.goods_price goods_no_datas.append(tmp) return render_to_response('back/goods_edit.html',{'goods_data':goods_data,'color_datas':color_datas,'goods_no_datas':goods_no_datas,'form':goods_description_Form(initial={'goods_spec_description': goods_data['description'],},)},context_instance=RequestContext(request)) elif request.method=='POST': #baseInfoForm goods_id = request.POST.get('goods_id', '') title = request.POST.get('title', '') shop_id = request.POST.get('shop_id', '') price = request.POST.get('price', '') style = request.POST.get('style', '') market_time = request.POST.get('market_time', '') function = request.POST.get('function', '') shoe_type = request.POST.get('shoe_type', '') sex_type = request.POST.get('sex_type', '') goods_spec_description=request.POST.get('goods_spec_description','') # 是否需要新建一个goods_shoe修改的log日志表,纪录goods_id,纪录每次修改的时间和修改内容纪录 # now=datetime.datetime.now() if not title or not shop_id or not price or not style or not market_time or not function or not shoe_type or not sex_type: return HttpResponse("请填写完整表单") try: shoe=Goods_shoe.objects.get(goods_id=goods_id) except ObjectDoesNotExist: return Http404() shoe.goods_title=title shoe.shop_id=shop_id shoe.goods_price=price shoe.goods_style=style shoe.goods_listed_time=market_time shoe.goods_function=function shoe.goods_category=shoe_type shoe.goods_sex=sex_type shoe.goods_spec_description=goods_spec_description pic_files = request.FILES.get('cover', None) if pic_files != None: # 写入文件 file_name = 'cover_image_%d.jpg' % random.randint(0,100000) # 不能使用文件名称,因为存在中文,会引起内部错误 file_dir='%supload/image/cover/'%STATICFILES_DIRS relative_dir='/static/upload/image/cover/' file_full_path = os.path.join(file_dir, file_name) goods_pic_url=os.path.join(relative_dir, file_name) dest = open(file_full_path,'wb+') dest.write(pic_files.read()) dest.close() shoe.goods_pic_url=goods_pic_url shoe.save() #colorPicForm try: colors=Goods_color_picture.objects.filter(goods_id=goods_id) except ObjectDoesNotExist: return Http404() for color in colors: color_id_str='color_id'+str(color.id) pic_color_str='pic_color'+str(color.id) color_image_str='color_image'+str(color.id) color_id = request.POST.get(color_id_str, '') pic_color = request.POST.get(pic_color_str, '') color_image=request.FILES.get(color_image_str, None) if color_image != None: # 写入文件 file_name = 'color_image_%d.jpg' % random.randint(0,10000000) file_dir='%supload/image/color/'%STATICFILES_DIRS relative_dir='/static/upload/image/color/' file_full_path = os.path.join(file_dir, file_name) goods_pic_url=os.path.join(relative_dir, file_name) dest = open(file_full_path,'wb+') dest.write(color_image.read()) dest.close() color.goods_pic_url=goods_pic_url color.goods_color=pic_color color.save() #sizeColorForm try: goods=Goods_no.objects.filter(goods_id=goods_id) except ObjectDoesNotExist: return Http404() for good in goods: goods_no_str='goods_no'+str(good.goods_no) color_str='color'+str(good.goods_no) price_str='price'+str(good.goods_no) size_str='size'+str(good.goods_no) num_str='num'+str(good.goods_no) form_goods_no = request.POST.get(goods_no_str, '') form_color = request.POST.get(color_str, '') form_price = request.POST.get(price_str, '') form_size = request.POST.get(size_str, '') form_num = request.POST.get(num_str, '') try: goods_no=Goods_no.objects.get(goods_no=form_goods_no) goods_no.goods_number=form_num goods_no.goods_color=form_color goods_no.goods_size=form_size goods_no.goods_price=form_price goods_no.save() except ObjectDoesNotExist: return Http404() return HttpResponse("success")