I end up doing something like this: {{=db.publicaciones.descripcion.represent(=tipo_3.descripcion,tipo_3)}}
I hope that helps, but maybe there is a better way? On Tuesday, September 11, 2012 1:48:59 PM UTC+1, Pepe Araya wrote: > > Hi Massimo, > > Sorry for my poor explanation. > > What I don't get is in the view when i call the field value > {{=tipo_3.descripcion}} I get the whole text and not the truncated one > like in the SQLFORM.grid case. > > > > > On Tuesday, September 11, 2012 9:32:18 AM UTC-3, Massimo Di Pierro wrote: >> >> What does it mean it does not work? Can you import it? Can you import it >> from python? >> >> On Tuesday, 11 September 2012 00:55:03 UTC-5, Pepe Araya wrote: >>> >>> Hello, >>> >>> I need to truncate a field that contains HTML content. >>> >>> Now i'm using htmltruncate <https://github.com/eentzel/htmltruncate.py> in >>> a controller that return a SQLFORM.smartgrid and it works perfect: >>> >>> def noticias(): >>> >>> db.noticias.cuerpo.represent = lambda field,row: >>> XML(htmltruncate.truncate(field, 100)) >>> grid = SQLFORM.smartgrid(db.noticias, >>> linked_tables=['adjuntos_noticia']) >>> >>> return dict(grid =grid) >>> >>> >>> But when I try to implement a in a controller in this way: >>> >>> def index(): >>> db.publicaciones.descripcion.represent = lambda field, row: >>> XML(htmltruncate.truncate(field, 10)) >>> tipo_3 = db(db.publicaciones.tipo == 3).select().last() >>> >>> return dict(tipo_3 = tipo_3) >>> >>> >>> It doesn't work >>> >>> >>> The module is inside the "modules" folder of the app and it's imported >>> via: >>> import htmltruncate >>> >>> >>> any help is welcome! >>> >>> Best! >>> >> --