On Monday, January 9, 2017 at 3:55:23 AM UTC-5, yarecki wr wrote:
>
>
> the function is just as below
>>
> def csv_file():
> mycsv=os.path.join(request.folder, 'static', '/tmp/items.csv')
> db(db.mytable).select(db.mytable.Items).export_to_csv_file(open(mycsv,
> 'wb', write_colnames=False))
> data=open(mycsv).read()
> return data
>
>
>
First, write_colnames is an argument of .export_to_csv_file, but you have
instead passed it to open(). Second, no need to write to a tempfile --
instead, create a cStringIO object and write to and read from that (it will
be faster because it stays in memory instead of going to disk).
> Then it's being read by a standard view with
> {{=BEAUTIFY(response._vars)}}
>
If you are returning a string, there will be no response._vars, and no view
will be executed at all. The string will simply be returned as is. If you
want to stream a file to the browser, use response.stream (see the "The
core" chapter of the book).
Anthony
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.