Flask显示图片
想用flask做一个网页,但发现没有办法在网页上显示图片from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return '<img src="E:\\MyPythonProjects\\Flask\\test.png">'
if __name__ == '__main__':
app.run() 服务器不是这样玩的
你要显示的图片应该是服务器提供的,而不是本地硬盘提供的 本帖最后由 suchocolate 于 2021-5-29 13:27 编辑
一、写路径时要写图片相对于本flask脚本的路径,例如在本app.py的同级文件夹staic下面:
return '<img src="/static/test.jpg">'
二、另外Flask的分工明确,html模板一般放在templates里,静态资源如css,javascript,图片等放在static里:
1.主程序
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def test():
return render_template('test_jpg.html') # render_template函数用于渲染html模板
if __name__ == '__main__':
app.run(debug='True')
2.在Flask的templates里新建html:test_jpg.html
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Test PIC</title>
</head>
<body>
<img src="{{ url_for('static', filename='test.jpg') }}">
<!--双大括号{{}}是模板语法的表达式,url_for是flask自带的函数,用于生成图片的路径。-->
<!--如果不想用模板语法,也可以直接写src的路径src="/static/test.jpg"。-->
</body>
</html>
3.把图片放到static文件夹里
4.访问测试:
suchocolate 发表于 2021-5-29 12:18
一、写路径时要写图片相对于本flask脚本的路径,例如在本app.py的同级文件夹staic下面:
成功了,感谢
页:
[1]