![見出し画像](https://assets.st-note.com/production/uploads/images/57400977/rectangle_large_type_2_d1539fba1725eda48057e45d9ee21720.png?width=1200)
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/ にアクセスしてみましょう。
アプリケーションが動いていることが確認できました!
デバッグモード
次に開発に便利なデバッグモードについて説明します
デバッグモードではリロードとデバッガーの機能が使えます。
デバッグモードの機能を使うことで、開発効率がグッと向上します。
リロード:ソースコードの変更を検知して、自動でアプリケーションを再起動してくる(アプリケーションを再起動しない限り、変更は反映されません)
デバッガー:アプリケーションがバグなどにより例外を発生したら、ブラウザがバグの発見を支援するツールとなる
先ほどアプリケーションを起動した時のメッセージをもう一度見てみます
デバッグモードが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
この記事が気に入ったらサポートをしてみませんか?