Python-Flask 是一个轻量级的 Web 框架,用于快速构建 Web 应用程序。Flask 使用 Jinja2 作为其默认的模板引擎,Jinja2 是一个功能强大且易于使用的模板引擎,可以用来生成 HTML 页面。
在 Flask 中显示图像主要有以下几种方式:
static
目录下,通过 URL 直接访问。static
目录下,例如 static/images/example.jpg
。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Display Image</title>
</head>
<body>
<img src="{{ url_for('static', filename='images/example.jpg') }}" alt="Example Image">
</body>
</html>
pip install pillow
from flask import Flask, render_template_string
from PIL import Image, ImageDraw
app = Flask(__name__)
@app.route('/dynamic-image')
def dynamic_image():
img = Image.new('RGB', (200, 100), color = (73, 109, 137))
d = ImageDraw.Draw(img)
d.text((10,10), "Hello, Flask!", fill=(255,255,0))
img_io = io.BytesIO()
img.save(img_io, 'JPEG')
img_io.seek(0)
return render_template_string('''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Image</title>
</head>
<body>
<img src="data:image/jpeg;base64,{{ img_base64 }}" alt="Dynamic Image">
</body>
</html>
''', img_base64=img_io.getvalue().encode('base64').decode('utf-8'))
if __name__ == '__main__':
app.run(debug=True)
原因:
解决方法:
static
目录配置正确。原因:
解决方法:
通过以上内容,你应该能够了解如何在 Flask 中使用模板引擎显示图像,并解决常见的问题。
领取专属 10元无门槛券
手把手带您无忧上云