Beispiel #1
0
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")
Beispiel #2
0
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")