Python Flask admin显示带有来自列的路径的图像

Python Flask admin显示带有来自列的路径的图像,python,flask,flask-admin,Python,Flask,Flask Admin,我的数据库设置如下: MediaPath DateCreated Message Type /home/1/1.jpg 21.09.2017 jpeg /home/2/2.jpg .... .... .... 如何设置Flask代码以预览MediaPath列中的图像,而不将其上载到/static/folder? 这是常用的flask管理代码模板: class ImageView(sqla.ModelView):

我的数据库设置如下:

  MediaPath    DateCreated    Message   Type
/home/1/1.jpg   21.09.2017              jpeg
/home/2/2.jpg   ....          ....      ....
如何设置Flask代码以预览MediaPath列中的图像,而不将其上载到/static/folder? 这是常用的flask管理代码模板:

class ImageView(sqla.ModelView):
def _list_thumbnail(view, context, model, name):
    if not model.path:
        return ''

    return Markup('<img src="%s">' % url_for('static',
                                             filename=form.thumbgen_filename(model.path)))

column_formatters = {
    'path': _list_thumbnail
}


form_extra_fields = {
    'path': form.ImageUploadField('Image',
                                  base_path=file_path,
                                  thumbnail_size=(100, 100, True))
}
类图像视图(sqla.ModelView):
定义列表缩略图(视图、上下文、模型、名称):
如果不是model.path:
返回“”
返回('static')的标记(''%url\u',
filename=form.thumbgen_文件名(model.path)))
列\u格式化程序={
“路径”:“列表”缩略图
}
表格\额外\字段={
“路径”:form.ImageUploadField('Image',
基本路径=文件路径,
缩略图大小=(100100,真)
}

MeidaPath列中文件的路径是绝对路径吗

确保form.thumbgen_filename(model.path)返回的路径是文件的绝对路径,您可以执行以下操作:

而不是:

返回标记('static'的''%url\u),
filename=form.thumbgen\u文件名(model.path)))

使用:

返回标记(“”%form.thumbgen\u文件名(model.path))

**假设方法
thumbgen\u filename()
返回图像缩略图的绝对路径(您尚未发布该方法的代码,因此我假设该方法返回的是该路径)**


当您为('static',filename='some-path')使用
url\u时,
会生成一个包含静态路径和静态文件夹内文件的url,具体取决于您为url\u的filename参数提供的值。如果要使用文件的绝对路径加载文件,只需提供文件的绝对路径,而不必使用
url\u for()

谢谢您的回答!但是我不知道如何使用第一列(MediaPath)作为路径!你能写一个例子说明我应该在“model.path”变量中写什么吗?我的代码示例向你展示了如何写。请看我的返回语句。我还更新了我的答案,以显示你应该使用的不同返回语句,但我如何为每个模型编写。path=Db('MediaPath')?我不确定我是否理解你的问题。您的数据库中是否已经存储了路径?是的,很抱歉我的错误。它们存储在my DB的第一列中,称为“MediaPath”。但是我应该向“return Markup(“”%form.thumbgen_filename(model.path))”model.path变量写入什么来提供“MediaPath”列的链接呢?