def post(self, request): # 上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数 excel_form = UploadExcelForm(request.POST, request.FILES) next_url = request.GET.get('next', '') if excel_form.is_valid(): excel_file = excel_form.cleaned_data["excel_file"] case_file = File() case_file.excel_file = excel_file case_file.save() excel_file_name = os.path.join(MEDIA_ROOT, case_file.excel_file.name) wb = openpyxl.load_workbook(excel_file_name) sheet = wb.get_active_sheet() for i in range(1, sheet.max_row): record_id = sheet.cell(row=i + 1, column=1).value record = Record.objects.get(pk=record_id) if record: record.site = sheet.cell(row=i + 1, column=2).value record.shop = sheet.cell(row=i + 1, column=3).value record.product_chinese_name = sheet.cell(row=i + 1, column=4).value record.sku = sheet.cell(row=i + 1, column=5).value record.order_word = sheet.cell(row=i + 1, column=6).value record.key_word_page_number = sheet.cell(row=i + 1, column=7).value record.key_word_link = sheet.cell(row=i + 1, column=8).value record.order_date = sheet.cell(row=i + 1, column=9).value record.review_date = sheet.cell(row=i + 1, column=10).value record.direct_review_title = sheet.cell(row=i + 1, column=11).value record.direct_review_content = sheet.cell(row=i + 1, column=12).value record.direct_review_remark = sheet.cell(row=i + 1, column=13).value record.user = request.user record.save() messages.add_message(request, messages.SUCCESS, "文件上传成功", extra_tags='success') return redirect(next_url) else: messages.add_message(request, messages.ERROR, "表单验证错误", extra_tags='danger') return redirect(next_url)
def post(self, request): # 上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数 excel_form = UploadExcelForm(request.POST, request.FILES) next_url = request.GET.get('next', '') if excel_form.is_valid(): excel_file = excel_form.cleaned_data["excel_file"] case_file = File() case_file.excel_file = excel_file case_file.save() excel_file_name = os.path.join(MEDIA_ROOT, case_file.excel_file.name) wb = openpyxl.load_workbook(excel_file_name) sheet = wb.get_active_sheet() for i in range(1, sheet.max_row): record = Record() record.asin = sheet.cell(row=i + 1, column=1).value record.c_price = sheet.cell(row=i + 1, column=2).value record.purchase_cost = sheet.cell(row=i + 1, column=3).value record.product_profit = sheet.cell(row=i + 1, column=4).value record.product_upload_time = sheet.cell(row=i + 1, column=5).value # record.brush_number = sheet.cell(row=i + 1, column=6).value record.sale_30_number = sheet.cell(row=i + 1, column=6).value record.sale_7_number = sheet.cell(row=i + 1, column=7).value record.record_src = sheet.cell(row=i + 1, column=8).value record.now_score = sheet.cell(row=i + 1, column=9).value record.now_review_number = sheet.cell(row=i + 1, column=10).value review_type = sheet.cell(row=i + 1, column=11).value record.review_type = review_type if review_type == "留评": record.direct_review = '0' record.free_review_number = '0' record.feedback = '0' elif review_type == "直评": record.review_number = '0' record.free_review_number = '0' record.feedback = '0' elif review_type == "免评": record.review_number = '0' record.direct_review = '0' record.feedback = '0' elif review_type == "feedback": record.review_number = '0' record.direct_review = '0' record.free_review_number = '0' record.user = request.user record.save() messages.add_message(request, messages.SUCCESS, "文件上传成功", extra_tags='success') return redirect(next_url) else: messages.add_message(request, messages.ERROR, "表单验证错误", extra_tags='danger') return redirect(next_url)
def post(self, request): # 上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数 excel_form = UploadExcelForm(request.POST, request.FILES) next_url = request.GET.get('next', '') if excel_form.is_valid(): excel_file = excel_form.cleaned_data["excel_file"] case_file = File() case_file.excel_file = excel_file case_file.save() excel_file_name = os.path.join(MEDIA_ROOT, case_file.excel_file.name) wb = openpyxl.load_workbook(excel_file_name) sheet = wb.get_active_sheet() for i in range(1, sheet.max_row): track_number = sheet.cell(row=i + 1, column=6).value if not Goods.objects.filter(user=request.user, track_number=track_number): good = Goods() old_total_price = good.total_price if good.total_price else 0 good.track_number = track_number good.user = request.user good.send_time = sheet.cell(row=i + 1, column=1).value if isinstance(good.send_time, str): good.send_time = datetime.datetime.strptime( good.send_time.replace("/", "-"), "%Y-%m-%d") good.send_company = sheet.cell(row=i + 1, column=2).value good.channel = sheet.cell(row=i + 1, column=3).value good.site = sheet.cell(row=i + 1, column=4).value good.country = sheet.cell(row=i + 1, column=5).value good.net_weight = sheet.cell(row=i + 1, column=7).value good.volume_weight = sheet.cell(row=i + 1, column=8).value good.actual_charged_weight = sheet.cell(row=i + 1, column=9).value good.pieces_number = sheet.cell(row=i + 1, column=10).value good.includes_price = sheet.cell(row=i + 1, column=11).value good.other_price = sheet.cell(row=i + 1, column=12).value good.total_price = sheet.cell(row=i + 1, column=13).value good.express_time = sheet.cell(row=i + 1, column=14).value good.express_status = sheet.cell( row=i + 1, column=15).value if sheet.cell( row=i + 1, column=15).value else "not express" good.settlement = sheet.cell(row=i + 1, column=16).value good.order_remark = sheet.cell(row=i + 1, column=17).value good.user = request.user good.save() total_price = sheet.cell(row=i + 1, column=13).value send_company = sheet.cell(row=i + 1, column=2).value good_total_price = good.total_price if good.total_price else 0 year = datetime.datetime.now().strftime('%Y') month = datetime.datetime.now().strftime('%m') user_freight_money = UserFreight.objects.filter( brush_year=year, brush_month=month, user=request.user).first() total_price_difference = float(good_total_price) - float( old_total_price) if not user_freight_money: user_freight_money_object = UserFreight() user_freight_money_object.user = request.user else: user_freight_money_object = user_freight_money user_freight_money_object.freight += total_price_difference user_freight_money_object.save() company_freight_money = LogisticsCompanyFreight.objects.filter( brush_year=year, brush_month=month, send_company=send_company).first() if not company_freight_money: company_freight_money_object = LogisticsCompanyFreight( ) company_freight_money_object.send_company = send_company else: company_freight_money_object = company_freight_money company_freight_money_object.freight += total_price_difference company_freight_money_object.save() messages.add_message(request, messages.SUCCESS, "文件上传成功", extra_tags='success') return redirect(next_url) else: messages.add_message(request, messages.ERROR, "表单验证错误", extra_tags='danger') return redirect(next_url)