salve a tutti ho lo stesso problema ( il dowload del file mi presenta il file della pagina del form) solo che invece di una browser view ho un form creato con z3c.form.
e quindi la action del form e' gestita dal @button.buttonAndHandler qualsiasi cosa metta come return mi restituisce il codice html della vista. l'oggetto da far salvare e' un file che ho precedentemente salvato in un tempfile.TemporaryFile. come faccio a restituirlo come file da scaricare? buon lavoro Gianni 2012/3/15 Simone Orsi <[email protected]> > On 03/15/2012 02:35 PM, ciccio2000 wrote: > >> * giovedì 15 marzo 2012, alle 13:07, Simone Orsi scrive: >> >>> Ciao, >>> >> [...] >> >>> come restituisci il contenuto del file? Quel "return iterator" dove sta? >>> >>> Se restituisci il contenuto del file nel __call__ della view ti deve >>> per forza mostrare il contenuto del file. >>> >>> Tipo: >>> >>> def __call__(self): >>> return self.get_file_content() >>> >> >> E' in un metodo della view: >> >> class View(grok.View): >> grok.context(IMapViewer) >> grok.require('zope2.View') >> >> ... >> >> def downloadData(self): >> ... >> zfname = "/tmp/%s-%s-%s.zip" % (st, et, model) >> ... >> iterator = filestream_iterator(zfname, 'rb') >> RESPONSE.setHeader... >> return iterator >> >> >> come ho detto il file non e' un oggetto plone, >> ma viene generato su file system dinamicamente >> a seconda di come viene riempito un form >> (che si trova nella view). >> >> ciao e grazie. >> > non importa da dove arriva il contenuto, importa come lo restituisci ;) > > Non so come vuoi che funzioni il tutto ma una possibile soluzione e' > quella che ti ho detto prima, farlo ritornare al __call__. > > Magari puoi mettere un pulsante di submit per il download che richiami la > stessa vista e nel __call__ fai qualcosa del genere: > > def __call__(self): > if self.request.get('download'): > return self.downloadData() > return super(self.__class__,self).__**call__() > > ______________________________**_________________ > Plone-IT mailing list > [email protected] > https://lists.plone.org/**mailman/listinfo/plone-plone-**it<https://lists.plone.org/mailman/listinfo/plone-plone-it> > http://plone-regional-forums.**221720.n2.nabble.com/Plone-** > Italy-f221721.html<http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html> >
_______________________________________________ Plone-IT mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-plone-it http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
