Python Flask mongoDB上の画像をhtmlで表示する

FlaskmongoDB上に保存された画像を表示させる

環境

  • Flask==0.11.1
  • mongoengine==0.15.0
  • Pillow==5.1.0

したいこと

ページ上のimgタグに、mongodb上に保存した画像を表示させる。

したこと

imgタグのsrc属性のリソースへGETリクエストがされる(と思っている)ので、@app.route()で画像リソースへのルーティングを作成した。

そのルーティングの中で、flaskからインポートしたsend_file関数を使って、画像リソースを返すようにした。

次のような手順で行なった。

  1. ルーティングに設定したURLへ直接アクセスしてみる
  2. imgタグのsrc属性にそのURLを埋め込む

tips

  • mongoengineImageFieldreadで読める
  • それをBytesIOsend_fileに渡す

サンプル

タイトルとURLをコピーしました