[初心者向け] Flaskを使って簡単なwebアプリを作成する

こんにちは!とびろぐ管理人のとびうおです!

今回はFlaskを使って、簡単なwebアプリケーションを作っていこうと思います!

また今回は環境構築をDockerを使って行っているので、簡単に作ることができます!

とびうお
とびうお

Flaskを使うと簡単に

Webアプリを作ることができます!

環境構築

Macをお持ちの方ならそのまま、Windowsをお持ちの方はUbuntuをWSL-2等で立ち上げて、その中に以下のようなディレクトリ構成を持ったフォルダを作成します。

  • flask
    • Dockerfile
    • app.py
    • requirements.txt
[初心者向け] Flaskを使って簡単なwebアプリを作成する

以下に簡単にファイルの説明をしていきます。

app.py

今回、メインとなるFlaskを書いておくpythonのファイルです!

このファイル実際にコーディングしていくことになります。

とびうお
とびうお

ちなみに「.py」というのは

pythonのファイルだよ!ということを示しているよ

Dockerfile

このファイルは環境構築をする時に必要なファイルです。

このDockerfileに今回使うpythonなどについて、どのような環境を構築するかを書いています。

このDockerというのがあるおかげで、手元にpythonをインストールしなくてもFlaskを使ってアプリを作成することができます!

requirements.txt

このファイルでは、必要なパッケージを記述しています。

今回はFlaskというのを使うので、その旨を記述しています。

実際に書いてみよう!

では、実際に書いていきましょう。

Dockerfile

まず、Dockerfileを以下のように記述してください!

# ベースとなるDockerイメージ指定
FROM python:3.8

# 作業ディレクトリを設定
WORKDIR /usr/src/app

# 依存関係のリストをコピー
COPY requirements.txt ./

# 依存関係をインストール
RUN pip install --no-cache-dir -r requirements.txt

# ソースをコピー
COPY . .

# ポート番号を指定
EXPOSE 5000

# コマンドを指定
CMD [ "python", "./app.py" ]

このDockerfileでは、最終的にコマンドの実行までを行ってくれます。

requirements.txt

続いて、requirements.txtを以下のように記述してみてください。

Flask==1.1.2
Flask-SQLAlchemy==2.4.4
Jinja2==2.11.3
MarkupSafe==1.1.1
itsdangerous==1.1.0
Werkzeug==1.0.1

これでFlaskをインストールすることができます!

app.py

続いて、app.pyを編集していきましょう!

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == "__main__":
    app.run(host='0.0.0.0')

このように記述します。

これは「/」というところにアクセスした際に “Hello , World!”を返すといったとてもシンプルなコードになっています。

実際に動かしてみよう!

では、実際に動かしてみましょう!

まずは、

docker build -t my-flask-app .

と打ちましょう

[初心者向け] Flaskを使って簡単なwebアプリを作成する
このような形でbuildが始まったら成功です!

そうすると、ビルドが終わるので、続いたらビルドした物を実行していきましょう!

docker run -p 5001:5000 my-flask-app

そうすると以下のような結果が出力されます。

[初心者向け] Flaskを使って簡単なwebアプリを作成する
とびうお
とびうお

無事サーバーが立ち上がりました!

では、実際に確認をしてみましょう!

自分の環境で以下のURLにアクセスしてみてください。

http://localhost:5001/

そうすると以下のような結果が見れるはずです!

とびうお
とびうお

これでwebアプリの第一歩を進めたね!

以上で、簡単なpythonのFlaskを使ったwebアプリケーションの作成の基礎は終了です!

管理人は基本的にはLaravelを使用していますが、こんなにも簡単にFlaskを使ってアプリを作成できるということを知れて嬉しいかったです!

他にも

とびろぐでは色々な記事を書いています!ぜひチェックしてみてくださいね!↓↓

テクノロジー

最新のテクノロジーに関する記事の一覧です。

とびうお
ブログ管理人です!
swimaneというアプリをリリースしました!

コメント

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