I think because do_download(filename, content)
should be return do_download(filename, content) On Jan 24, 8:10 am, Rupesh Pradhan <[email protected]> wrote: > I am trying to learn how to download text/csv files. > > This test function works fine. > > def download(): > # import and assign handle > import cStringIO > content = cStringIO.StringIO() > > # write dummy content > for i in range(0, 10): > content.write("This is the text"+"\r\n") > > # assign filename to download file > filename = 'outputfile.txt' > > # send content for download > response.headers['Content-Disposition'] = 'attachment; filename=' > + filename > response.headers['Content-Type'] = 'text/csv' > return content.getvalue() > > However, when I extract the section that helps to download the file > into a generalized function 'do_download', it does not work. What can > be done to get it to work? > > def download(): > import cStringIO > content = cStringIO.StringIO() > for i in range(0, 1000): > content.write("This is the text"+"\r\n") > filename = 'outputfile.txt' > do_download(filename, content) > > def do_download(filename, content): > response.headers['Content-Disposition'] = 'attachment; filename=' > + filename > response.headers['Content-Type'] = 'text/csv' > return content.getvalue()

