【Flask入門実践】インストールから簡単なWebアプリケーション作成までを解説【Python】

Flask入門実践では、「これからFlaskを使ってみたい」「FlaskでWebアプリを作ってみたい」という方向けに、インストール手順から実際にWebアプリケーションを作成するまでの流れを解説していきます。

Flask入門実践をやり終えた頃には、あなたもFlaskを使って自由にWebアプリケーションを作ることができるようになっていると思います。

一緒に頑張っていきましょう!

Flaskとは

最初にFlaskとはどんなフレームワークなのか簡単に解説しておきます。

FlaskはPythonのWebアプリケーションのフレームワークの中ではかなり軽量なフレームワークになります。なので、重くないし、簡易的なアプリケーションであれば迅速に開発をすることができます。

PythonのWebアプリケーションフレームワークといてばDjangoがあるかと思います。Djangoは、管理画面やORM、ディレクトリ構造などある程度固まったフレームワークの上で開発をするのに対し、Flaskはどのように実装するかなど開発者自身で決めることができます。それゆえに、型が決まっていないため自由にかつ柔軟に開発することができます。

動作環境

  • macOS Mojave (10.14.1)
  • Python3.7.3

Flaskのインストール

早速Flaskのインストールをしてみましょう。

Flaskのインストールはとても簡単で、pipでインストールすることができます。

pip install flask

FlaskでHello, World!

Flaskのインストールができたら、おなじみのHello, World!をブラウザに表示してみましょう。

必要最小限のFlaskアプリケーションは下記のようになります。これだけでHello, Worldが表示できるなんて簡単ですよね。

# hello.py
from flask import Flask
app = Flask(__name__)

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

if __name__ == '__main__':
    app.run()
解説
  • 2行目でFlaskをインポートしています。
  • 3行目でFlaskのインスタンスを生成しています。引数にはアプリケーションのモジュールかパッケージ名を入れます。
  • 5行目の「route」を使うことで、どのURLにアクセスした際に関数を呼び出すかを指定することができます。
  • 6行目の関数名は任意で大丈夫です。何をする関数かわかるような名前にしておきましょう。
  • 7行目で文字列を返しています。通常はテンプレートをレンダリングするか、HTMLを返しますが、今回は一旦文字列を返しています。
  • 10行目の「app.run()」でFlaskのアプリケーションを起動することができます。

コードを書き終えたら下記のようにFlaskアプリを起動してみましょう

$ python hello.py
* Serving Flask app "hello" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

http://127.0.0.1:5000/にアクセスし「Hello, World!」が表示されていればOKです。

どこかでつまづいた場合はコメントください。

次はルーティングとレンダリングテンプレートについて解説します。

【Flask入門実践】Flaskのルーティングとレンダリングテンプレートを理解しよう【Python】