python flask在html页面上显示图像

Dar*_*ers 12 python html5 flask flash-message

我试图传递一个图像的文件名并在模板上呈现它,虽然我传递的实际名称通过它不显示在页面上

@app.route('/', methods=['GET','POST'])
@app.route('/start', methods=['GET','POST'])
def start():
person_to_show = 'tim'
profilepic_filename = os.path.join(people_dir, person_to_show, "img.jpg")
return render_template('start.html',profilepic_filename  =profilepic_filename )
Run Code Online (Sandbox Code Playgroud)

例如:profilepic_filename = /data/tim/img.jpg我试过了

{{profilepic_filename}}
<img src="{{ url_for('data', filename='tim/img.jpg') }}"></img>
Run Code Online (Sandbox Code Playgroud)

我也试过了

<img src="{{profilepic_filename}}"></img>
Run Code Online (Sandbox Code Playgroud)

两者都不奏效

ars*_*sho 28

people_photostatic文件夹中创建并放置了一个名为的图像shovon.jpg.从application.py我将图像作为变量传递给模板,并使用img模板中的标记显示它.

application.py:

from flask import Flask, render_template
import os

PEOPLE_FOLDER = os.path.join('static', 'people_photo')

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

@app.route('/')
@app.route('/index')
def show_index():
    full_filename = os.path.join(app.config['UPLOAD_FOLDER'], 'shovon.jpg')
    return render_template("index.html", user_image = full_filename)
Run Code Online (Sandbox Code Playgroud)

index.html:

<!DOCTYPE html>
<html>
<head>
    <title>Index</title>
</head>
<body>
    <img src="{{ user_image }}" alt="User Image">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

  • 还有其他人在使其正常工作时遇到困难吗?pycharm 告诉我“进程已完成,退出代码为 0”,但“localhost:5000”未显示任何图像 (3认同)
  • 我们如何显示来自 S3 链接的图像?任何帮助,将不胜感激。 (2认同)
  • 有没有一种方法可以使用子文件夹而不是静态文件夹并通过“本地资源”错误? (2认同)