パスがsqlalchemyデータベースに保存されているプロフィール画像を提供しようとしています。Flask Pythonでデータベースにパスが保存されているプロフィール画像を提供
スニペットコードは、次のように
@employees.route('/upload-picture/<full_name>', methods=['GET', 'POST'])
@login_required
def upload(full_name):
if not current_user.is_employee:
abort(403)
borrower = Borrower.query.filter_by(full_name=full_name).first()
if request.method == 'POST' and 'photo' in request.files:
profile_pic = photos.save(request.files['photo'])
borrower.profile_pic = profile_pic
db.session.add(borrower)
db.session.commit()
return render_template('employees/borrower.html', borrower=borrower)
@employees.route('/uploaded_profile_pic/<filename>')
@login_required
def uploaded_profile_pic(filename):
if not current_user.is_employee:
abort(403)
return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
マイテンプレートファイルには、次のとおりです。
{% if borrower.profile_pic %}
<img src="{{ url_for('employees.uploaded_profile_pic', filename = borrower.profile_pic)}}" />
{% else %}
<form action="{{url_for('employees.upload', full_name=borrower.full_name)}}" method="POST" enctype="multipart/form-data">
<input type="file" name="photo"><br /><br />
<input type="submit" value="Upload">
</form>
{% endif %}
問題は、私はテンプレートに壊れた画像を取得しておくです。
愚かな質問を申し訳ありません:あなたはパスが画像になっていますか?私のファイルが画像ではないときに壊れた画像が得られたので私は尋ねます。 – bernie
それは愚かではありません。私もそれが問題だと思うが、私はコード内の問題に気づいていないようだ。 –
私が間違っていても、パスで問題ではなく、コードでは問題にならないのであれば、私を訂正してください。 – bernie