J'essaie de transmettre le nom de fichier d'une image et de le rendre sur un modèle. Bien que je transmette le nom actuel, il ne s'affiche pas sur la page.
@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 )
Par exemple: profilepic_filename = /data/tim/img.jpg j'ai essayé
{{profilepic_filename}}
<img src="{{ url_for('data', filename='tim/img.jpg') }}"></img>
Et j'ai aussi essayé
<img src="{{profilepic_filename}}"></img>
Qui n'a pas fonctionné
J'ai créé people_photo
dans le dossier static
et a placé une image nommée shovon.jpg
. Du application.py
J'ai transmis l'image en tant que variable au modèle et je l'ai affichée à l'aide de la balise img
du modèle.
Dans 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)
Dans index.html
:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<img src="{{ user_image }}" alt="User Image">
</body>
</html>
Sortie: