行いたいこと
現在、flaskにてwebアプリの作成を行っております。
matplotlibにて作成、保存した画像ファイルをtemplatesにあるhtmlで表示したいです。
現状
具体的には、
app ├─.idea │ └─inspectionProfiles ├─outputs ├─static └─templates
というディレクトリ構成で、画像はapp/outputsに保存します。
templates/hoge.htmlにて
html
1<img src="../outputs/image.png" alt="Result">
と記述しても画像が表示されません。
絶対パスにてファイルを指定しても同様でした。
いかがいたせばよろしいでしょうか?
app.pyは
python
1from flask import Flask, render_template, request 2 3# appという名前でFlaskのインスタンスを作成 4app = Flask(__name__) 5 6@app.route('/', methods=['GET']) 7def index(): 8 return render_template('app.html', 9 ) 10 11if __name__ == '__main__': 12 # 作成したappを起動 13 # ここでflaskの起動が始まる 14 app.run(debug=True)
app.htmlは
html
1<p><img src="../outputs/image.png" alt="Result"></p>
としてあります。
現象が再現する最小のコードを提供いただけませんか?
実行できる最小構成が無いとわかりません。(質問文だけだとimg要素してありません)
そもそもoutputsは見えるんでしょうか?
修正いたしました。
<p><img src="../outputs/image.png" alt="Result"></p>
の画像へのpathをstatic内のフォルダとしたら表示がされました。
なのでoutputは見えていないようです。これはflaskの使用なのでしょうか?
app.pyにて
app = Flask(__name__, static_folder='outputs')
とすることで静的ファイルを格納するフォルダを変更して解決ができました。
flaskではこのように見えるフォルダが基本的に制限されているのでしょうか?
回答1件
あなたの回答
tips
プレビュー