def post(self, *args, **kwargs): self.form = CSVErrorsReportForm(self.request.POST) if self.form.is_valid(): start_date = self.form.cleaned_data['start_date'] stop_date = self.form.cleaned_data['stop_date'] service_id = self.form.cleaned_data.get('service', None) f = cStringIO.StringIO() UnicodeWriter(f).writerows( (unicode(item) for item in row) for row in self._get_data( start_date=start_date, stop_date=stop_date, service_id=service_id, ), ) response = HttpResponse( f.getvalue(), content_type='application/csv', ) filename = 'report_%s_%s.csv' % ( start_date.strftime("%Y-%m-%d"), stop_date.strftime("%Y-%m-%d"), ) disposition = 'attachment; filename=%s' % filename response['Content-Disposition'] = disposition return response return super(CSVErrorsReport, self).get(*args, **kwargs)
def get(self, *args, **kwargs): self.form = CSVErrorsReportForm( initial={ 'start_date': timezone.now().strftime("%Y-%m-%d"), 'stop_date': timezone.now().strftime("%Y-%m-%d"), }, ) return super(CSVErrorsReport, self).get(*args, **kwargs)