使用Flask在模板中显示图像?

时间:2014-02-23 07:38:50

标签: python flask

所以我在我的网站上托管了一些用户上传的图片。我希望有一个html页面显示内联图像,以及有关它的一些数据,等等。我已经设置了我的应用程序,有两个处理程序,一个在页面上显示使用url_for获取的图像原始图像的url(egimysite.com/image.jpg)。它显示在页面上很好,但需要永远加载。当我删除此功能并仅在没有页面的情况下生成图像的URL时,它会立即加载。这只是一个可以在具有真实网络服务器的生产环境中解决的问题,还是我应该采取另一种方式?图像不在/ static文件夹中,它们位于自己的文件夹中。我在函数的处理程序中获取原始图像链接的URL,该函数显示包含图像的页面,并将其作为模板的路径传递。

@app.route('/<filename>', subdomain='i')
def uploaded_image(filename):
    return send_from_directory(app.config['IMAGE_FOLDER'], filename)

@app.route('/<tag>/', subdomain='i', methods=['GET'])
def display_image(tag):
    file = Storedfile.query.filter_by(routing_id=tag).first()
    filename = file.name
    return render_template("image-page.html", source=url_for('uploaded_image', filename=filename))

就像我说它显示图像正常,但需要永远加载,当我用FF的开发工具检查页面上的图像,而不是看到实际的URL,我看到像

<img src="/pyhE4eJ.jpg"></img>

对于其他链接,我获得了由函数构成的实际URL,例如

<a href="http://local.dev:5000/info"></a>

图像的来源不应该像这样吗?

0 个答案:

没有答案