def export(request): ''' 导出巡检报告 ''' response = HttpResponse(content_type='text/plain') response['Content-Disposition'] = 'attachment; filename=data.txt' report_list = Report.objects.all() logger.info(u'获得所有报告') parser = Parser(logger) i = 1 seperator = '#' for report in report_list: pass_rate = float(report.pass_num) / float(report.total_num) str_pass_rate = str(int(pass_rate * 100)) + '%' #获得巡检报告在服务器的目录 report_dir = settings.MEDIA_ROOT + report.system + os.path.sep + report.province + os.path.sep + report.reporter time_str = os.path.dirname(report.report_path)[-17:] time_str.replace('\\', os.path.sep) report_dir = report_dir + os.path.sep + time_str detail_info = parser.parse_outputxml(report_dir + os.path.sep + 'output.xml') if detail_info == '': #确少详细信息的记录不导出 continue response.write(str(i) + seperator + report.system + seperator \ + report.province + seperator + report.city + seperator \ + str(report.total_num) + seperator + str(report.pass_num) + seperator \ + str_pass_rate + seperator + report.sub_time.strftime("%Y-%m-%d") \ + seperator + report.reporter + seperator + ' ' + seperator + ' ' + detail_info + seperator) i += 1 return response