给定完整路径,但图像未显示

时间:2019-06-09 07:12:56

标签: python-3.x flask

我只是试图使用flask在html中显示图像。但是即使我给出了完整的正确图像路径,我也无法这样做。

我关注了此链接

python flask display image on a html page

我的samply.py

import os
from flask import Flask, flash, request, redirect, url_for, render_template

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

@app.route('/show_image')
def show_index():
    full_filename = os.path.join(app.config['UPLOAD_FOLDER'], '2.jpg')
    return render_template("layout.html", user_image = full_filename)

if __name__ == "__main__":
    app.run(debug=True)

还有我的HTML代码:

<!DOCTYPE html>
<html>
<head>
    <title>Index</title>
</head>
<body>
    <img src="{{ user_image }}" alt="User Image">
</body>
</html>

我得到

的输出
  

127.0.0.1--[2019年6月9日11:50:41]“ GET /home/user/Documents/images/2.jpg HTTP / 1.1” 404-

当我在vscode中点击此链接/home/user/Documents/images/2.jpg时,它将显示正确的图像;这意味着路径存在错误。

1 个答案:

答案 0 :(得分:0)

您是否在flask应用程序中配置了静态目录?如果是这样,则将其作为应用程序的根,并且该应用程序不提供对文件系统其他部分的访问。换句话说,您不需要文件的“完整”(或更常见的是绝对)路径,而是要确保文件位于静态目录或子目录中,并且该路径是相对于该目录的。

question可能会对您有所帮助。