Вы можете сделать это несколькими способами:
Первый:
db.table.field.represent = lambda r, v: IMG(_src=URL('default',
'download',
args=v.field))
# where field is the field where your picture lives.
Второй использует виртуальные поля web2py:
class MyVirtual(object):
def photo(self):
return IMG(_src=URL('default', 'download', args=self.table.field))
db.table.virtualfields.append(MyVirtual())
table = SQLTABLE(db(db.table).select())
Третий использует дополнительные столбцы:
myextracolumns = [{'label': 'My Photo',
'content': lambda row, rc: IMG(_src=URL('default',
'download',
args=row.field))}]
table = SQLTABLE(rows, extracolumns=myextracolumns)