Как таковая, ваша модель не будет хранить изображение в базе данных - вместо этого она сохранит изображение в файловой системе, а ее новое имя файла будет сохранено в базе данных (в поле 'picture').Если вы хотите сохранить само изображение в базе данных, используйте следующее:
db.define_table('images',
Field('picture', 'upload', uploadfield='picture_file')
Field('picture_file', 'blob'))
Независимо от того, храните ли вы изображения в файловой системе или в базе данных, вы можете использовать один и тот же метод для их получения.Приложение приветствия scaffolding включает следующее действие download()
в контроллере default.py
:
def download():
return response.download(request, db)
Чтобы получить изображение, просто выполните что-то вроде:
<img src="{{=URL('default', 'download', args=picture_name)}}" />
где picture_name
- это значение, хранящееся в поле 'picture
' таблицы 'images
' для конкретного изображения, которое вы хотите получить.
Для получения дополнительной информации см. здесь и здесь .
Если вам нужна дополнительная помощь, попробуйте задать вопрос в списке рассылки .