- システム開発
- 2019/02/27
【Flask入門】Python初心者でもわかるフレームワークを解説!
幾多あるプログラミング言語の中で、現在最も注目を集めているものがPythonです。
そしてカスタマイズ性が高く、シンプルなWebアプリケーションに適しているものがFlaskというフレームワークです。
そこで今回はFlaskの説明からメリット、利用方法まで一通りご紹介していきます。
【入門編】Flaskとは?Pythonとの関係は?
FlaskとはPython上で動くマイクロウェブアプリケーションフレームワークです。
ウェブアプリケーションフレームワークといえば、Rubyというプログラミング言語上で動くRuby on Railsが有名で、イチからすべてプログラムを実装するのではなく、コマンド1つでログインなどの事前に準備されている機能を設定することができる仕組みです。
Flaskの場合は「マイクロ」と付いていることもあり、標準で搭載されている機能は最小限に抑えられています。
Flaskを使うメリットは何?
それではFlaskを利用するメリットはどのようなものがあるのでしょうか。
メリットとして大きく3つを挙げることができます。
①Flaskは軽い
Flaskは「マイクロ」ウェブアプリケーションフレームワークの名前通り、必要最低限の機能しか搭載されていないため、他のウェブアプリケーションフレームワークに比べて動きが軽くなります。
そのため、多くの機能は必要としない単純なWebアプリケーションなどに適しています。
②Flaskは機能がシンプルで学習が簡単
搭載されている機能が多ければ、それぞれの機能について時間をかけて学んでいく必要があります。一方、Flaskは搭載されている機能が少ないためシンプルで学習が簡単です。
③Flaskは自分次第で細かいカスタマイズができる
一般的なウェブアプリケーションフレームワークでは、大体搭載されている機能をもとにアプリケーション設計をしていくため、あまりカスタマイズをすることはありません。
一方、Flaskは多くの機能を自分で実装していく必要があるため、要件に応じた細かなカスタマイズをすることが可能です。
入門者でもわかるFlaskでできること
Flaskではシンプルでカスタマイズ性が高いというメリットを活用し、簡単なWebアプリケーションやサービスを作成できたり、短いコードで手早く機能を実装したプロトタイプを作成したり、処理するリクエスト数が少ないBotなども作成ができます。
大規模なシステムには向きませんが、小規模の環境で使うには小回りがきくマイクロウェブアプリケーションフレームワークです。
Djangoとの違いは?
Python上で動くウェブアプリケーションフレームワークの1つに「Django」というものがあります。
Flaskとは対照的な全部盛りの豪華なフレームワークで、少ないコードで「ユーザー認証」「管理画面」「サイトの案内ぺージ」「RSSフィード」など、よく使われる機能を構築することができます。
Djangoは多くの機能を搭載するようなWebアプリケーションに使われることが多いです。
実際にFlaskを使ってみよう
それでは実際にFlaskを使ってみましょう。Flaskのインストールから簡単なプログラムを作成する手順をご紹介します。
Flaskのインストール方法
インストールは非常に簡単で、コマンドを入力するターミナルを起動し、下記コマンドを実行するだけです。
pip3 install Flask
Pythonの3系がインストール済みの場合は下記コマンドでも問題ありません。
pip install Flask
Flaskを使って簡単なプログラムを書く手順
それでは簡単なプログラムを書いて、初めてでおなじみの「Hello world」を出力してみましょう。
〇プログラム
from flask import Flask
app = Flask(__name__)@app.route(‘/’)
def hello():
hello = “Hello world”
return helloif __name__ == “__main__”:
app.run()
2行目の「app」でFlaskを定義し利用できるようセットします。
4行目の「app.route(‘/‘)」でルートのアドレスに以下のものを配置することを明言し、5行目~7行目が「Hello world」を出力するプログラムになります。
9行目~10行目はおまじないです。
それではプログラムを実行してみましょう。
$ python3 hello.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
「http://127.0.0.1:5000/」のURLにアクセスをすると「Hellow World」の表示を確認することができます。
最後のプログラム出力で見ていただいたように、Flaskはプログラムの実装から出力まで、簡単にできるマイクロウェブアプリケーションフレームワークです。
Pythonに興味があり、少しでも触ってみたいという方は、ぜひ自分の手で実際に動かしてみてはいかがでしょうか。
エンジニアに役立つ目的別講座
Pythonの基本~応用をマスター
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門講座。Python3の基本を取得できます。
Webサイトのコーディングができるように
ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!
HTML, CSS, Bootstrap, JavaScript, MySQL, Ruby, Ruby on Rails, AWS Cloud9, Git, GitHubを用いたWebアプリケーション開発の方法を総合的に学べます。
AWSを基礎から学ぶ
これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
AWSの基本資格「AWS 認定ソリューションアーキテクト – アソシエイト試験」を合格を目指し、そのための知識や経験を獲得できるように!
ITプロジェクトの資料作成はお任せ!
手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート
ITプロジェクトの資料作成を学べる人気講座。フェーズ毎に、どんな資料を作ればいいのか悩んでいる人におすすめ。
関連記事

LINE BOTの作り方とは?Messaging APIを利用した作成法3選
「LINE BOT」とは、メッセージアプリのLINEを使用して、ユーザ…

TypeScriptを入門者向けに解説!JavaScriptとの違いや勉強法までわかりやすく
TypeScriptは、オープンソースのプログラミング言語です。大規…

Rubyとは?初心者向けプログラミング体験もできる記事!
プログラミング言語のRubyとは何かについて、Web開発経験のある…

作って覚えるPHP Laravel 使い方やインストール方法も!
今回は、日本でも最も人気のあるWebプログラミング言語PHPと、…
最新情報・キャンペーン情報発信中