背景
職場でFlaskを使う必要が出てきました。その本には「物体検知アプリ&機械学習APIの作り方」と書いており、折角なので軽くFlaskに触れながら深層学習アプリの作り方を学びたいと思いました。目的
Flaskアプリをデプロイします。Flaskに慣れるためにDjangoでやった時の様にメモアプリのデプロイから始めます。結果
【保存版】30分でFlask入門!Webアプリの作り方をPythonエンジニアが解説を参考に以下の様にアプリをデプロイ出来ました。著者の「はたやす」さんにお礼を申し上げつつ、本記事を書かせて頂いています。
方法
- 簡単なメモアプリを作る
- デプロイする
まずは【保存版】30分でFlask入門!Webアプリの作り方をPythonエンジニアが解説を参考にメモアプリを作成します。その後、若干の修正を加えつつ、Herokuにデプロイしました。デプロイに関しては私の過去の投稿にあります「GitHubとHerokuを連携してDjangoアプリをデプロイする(2022.3.15)」「「.env」を使ってGitHubで安全なアプリ管理をする(2022.4.2)」を参考にしました。
修正
1.Bootstrapの記述
はたやすさんの記事の通りでは有効にならなかったので、base.htmlの該当箇所を次の様に変えました。有効になると結果にあったような画面になります。
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
2.「.env」の追加
flaskアプリの実行方法にはflaskコマンドを使う方法と「python app.py」の様に実行ファイルを直接動かす方法があるようです。今回は、「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」に沿って、「flask run」で実行できるようにします。「.env」は以下の様になります。
FLASK_APP=app.py
FLASK_ENV=development
今回はセキュリティーについては考えていませんが、今後、このファイルに重要な情報を入れるようになるかもしれません。
感想
今回は、深層学習を用いたアプリを作る為の準備としてFlaskでメモアプリを作りました。Djangoアプリを作成した際、GitHub経由でHerokuにデプロイしたり、「.env」を使って環境変数を作ったりしていたのが上手く活用できたので作業しながら楽しくもありました。課題
「Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方」を読み進めて、深層学習アプリを作成できるようにしたいと考えています。
参考
- はたやす(2022.4)、 【保存版】30分でFlask入門!Webアプリの作り方をPythonエンジニアが解説、テックダイアリー
- Ryo Tanohata(2022.4)、GitHubとHerokuを連携してDjangoアプリをデプロイする(2022.3.15)、Qiita
- Ryo Tanohata(2022.4)、「.env」を使ってGitHubで安全なアプリ管理をする(2022.4.2)、Qiita
- 佐藤ら(2022.1.24)、Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方、翔泳社