見出し画像

Pythonアプリケーション開発入門 〜 Flask アプリケーションの実行 〜

開発環境を整えたら、
さっそくFlask アプリケーションを実行してみましょう

内容

・簡単なアプリケーションのコードを書いてみる
・環境変数にアプリケーション名を設定して、アプリケーションを起動する 
・開発しやすいデバッグモードでアプリケーションを起動する

簡単なアプリケーションの作成

hello.pyというファイルをプロジェクト内に作成して
以下のコードを書いてみましょう(コードの内容は今は気にしないでそのまま書いてみましょう)

# hello.py
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
   return '<h1>Hello World!</h1>'

Flaskアプリケーションの起動

hello.pyがあるディレクトリでアプリケーションを起動します

> flask run
Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
# エラーが発生しました。Flask アプリケーションが見つかりませんでした。環境変数 "FLASK_APP "が指定されておらず、カレントディレクトリに "wsgi.py "または "app.py "モジュールが見つかりませんでした。

どのアプリケーションを実行すれば良いのかわからないので、
怒られてしまいました

FLASK_APPという環境変数にアプリケーション名を設定してあげる必要があります。(エラーを見ると、app.py or wsgi.pyならFLASK_APPが設定されていなくても実行されるようです。)
環境変数を再設定して再トライしてみましょう

> export FLASK_APP=hello.py

> flask run                
* Serving Flask app 'hello.py' (lazy loading)
* Environment: production
  WARNING: This is a development server. Do not use it in a production deployment.
  Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

アプリケーションを起動できました!
Chormeなどブラウザを開いて、http://127.0.0.1:5000/ にアクセスしてみましょう。

画像1

アプリケーションが動いていることが確認できました!

デバッグモード

次に開発に便利なデバッグモードについて説明します
デバッグモードではリロードとデバッガーの機能が使えます。
デバッグモードの機能を使うことで、開発効率がグッと向上します。

リロード:ソースコードの変更を検知して、自動でアプリケーションを再起動してくる(アプリケーションを再起動しない限り、変更は反映されません)

デバッガー:アプリケーションがバグなどにより例外を発生したら、ブラウザがバグの発見を支援するツールとなる

先ほどアプリケーションを起動した時のメッセージをもう一度見てみます
デバッグモードがOFFになっています

> flask run                
* Serving Flask app 'hello.py' (lazy loading)
* Environment: production  # 本番モード
* Debug mode: off                   # デバックモードOFF

FLASK_ENVという環境変数をdevelopmentに設定することで
デバッグモードをONにできます

# 環境を開発モード
> export FLASK_ENV=development

> flask run
* Serving Flask app 'hello' (lazy loading)
* Environment: development   # 開発モード
* Debug mode: on                       # デバッグモードON
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Debugger is active!
* Debugger PIN: 131-074-456

開発モードになり、デバッグモードがONになりました。
これで毎回アプリケーションを手動で再起動する必要がなくなりました。
すぐに変更結果をブラウザで確認することができます!

※本番環境にデプロイする場合は必ずデバッグモードをOFFにしてください。FLASK_ENV=productionで本番モードに戻せます。
デバッグモードはFLASK_DEBUG=1でもONになりますので注意してください。

今回学んだこと

・Flask アプリケーションのコード
・Flask アプリケーションの起動方法
・デバッグモードについて

次はコードを増やしてFlaskアプリケーションを開発するか、みてみましょう

補足

127.0.0.1 (ローカル・ループバック・アドレス)
自分自身を指すIPアドレス。手元のコンピュータにアクセスできるのでアプリケーション開発の勉強でよく使う

:5000 port (ポート)
127.0.0.1:5000の「:5000」の部分をポート番号という。一つのコンピュータ内では複数のサービスが動いています。ポート番号はコンピュータ内のどのサービスと通信すれば良いかを指定するのに必要
参考
Flask QuckStart
Flask Web Development: Developing Web Applications with Python


この記事が気に入ったらサポートをしてみませんか?