Ho yeah, I forget about that option... Thanks Alan
Richard On Wed, Mar 14, 2012 at 6:53 PM, Alan Etkin <[email protected]> wrote: > I have not experience with the book csv output example, but it looks > different than your implementation: > > -It has a special view "..../name.csv" to render the function output > -The Content-Type parameter is "application-vnd.ms-excel" > > I think you could change the response view parameter on form > validation to .../name.csv, have the function to return a dict object > and use the book example view to return the csv file response. > > The example I am refering to is in section 10.1.6 > > On 14 mar, 18:19, Richard <[email protected]> wrote: > > Hello, > > > > I strungle with export of csv... I have this function that works great : > > > > def export_csv(tab1_id): > > import gluon.contenttype > > response.headers['Content-Type'] = \ > > gluon.contenttype.contenttype('.csv') > > import cStringIO > > stream=cStringIO.StringIO() > > db((db.tab1.id == tab1_id)).select().export_to_csv_file(stream) > > response.headers['Content-disposition'] = 'attachment; > filename=%s.csv' > > % 'test12345' > > response.write(stream.getvalue()) > > > > def export_default_analysis_request(): > > tab1_subset = (db.tab1.bool1 == True) > > form = SQLFORM.factory( > > Field('tab1_id', > > requires=IS_IN_DB(db(tab1_subset),'tab1.id','%(f1)s')), > > submit_button=T('Submit')) > > if form.accepts(request.vars, session): > > response.flash = T('form accepted') > > export_csv(tab1_id = form.vars.tab1_id) > > elif form.errors: > > response.flash = T('form has errors') > > else: > > response.flash = T('please fill out the form') > > return dict(form=form) > > > > The problem is that I am getting the html page below the value I want to > > export... > > > > Do I need to redirect on a blank page? It likes if response contain the > > actual page that get out at the same time as the data... > > > > I just copy stuff from here and there, but I think I will have to better > > understand what is going on... > > > > Thanks > > > > Richard >

