Python Webフレームワークは、Django・Flask・FastAPI・Bottleの4つから選べます。この記事では、4つの違いと、作りたいもの別にどれを選べばよいかを、JetBrainsの調査と各公式ドキュメントをもとに解説します。
管理人本記事の読者層は以下の方を想定しています。
- Python Webフレームワークの違いを知り、どれを学ぶか決めたい方
- PythonでWebアプリやWeb APIを作りたい方
- Djangoなどのフレームワークを使わずに作れるのか知りたい方
Python Webフレームワークはどれを選ぶ?結論と用途別の早見表
PythonでWebアプリを作るときは、Webフレームワークを使う方法が広く使われています。代表的なのは、Django・Flask・FastAPI・Bottleの4つです。迷ったときは、作りたいものから次の表のとおりに選んでください。
| 作りたいもの | 向いているフレームワーク | 理由 |
|---|---|---|
| 管理画面・ユーザー認証・データベース操作まで備えたWebサイト | Django | データベース操作(ORM)・認証・管理パネルなどが標準で付いている |
| 小規模なWebアプリ、データ分析のダッシュボード | Flask | 軽量で、必要な機能だけを拡張機能で足せる |
| Web API、AI・機械学習モデルの公開 | FastAPI | 型ヒントによる入力チェック、非同期処理、APIドキュメントの自動生成がある |
| 最小の構成で試したい | Bottle | 単一ファイルで、Python標準ライブラリ以外に必須の依存がない |
画面や認証まで一通り欲しいならDjango、APIを作るならFastAPI、軽く始めたいならFlask、と考えると選びやすくなります。
- Django (ジャンゴ)
- Bottle (ボトル)
- FastAPI (ファストえーぴーあい)
- Flask (フラスコ)
これらのフレームワークは、クロスプラットフォーム対応で、サポートOSとしてWindows、macOS、Linuxが利用できるようになっています。
人気は?Python Webフレームワークの利用率ランキング
JetBrainsは、多数のPython開発者へのアンケートをもとに、フレームワークの使用率を公表しています。2025年10月公開のJetBrains公式ブログによると、2024年のWebフレームワークの使用率は次のとおりです。JetBrainsの自社調査で、2026年10月時点で確認できた最新の公表値です。
| 順位 | フレームワーク | 2024年の使用率 | 2023年からの増減 |
|---|---|---|---|
| 1位 | FastAPI | 38% | 9%増 |
| 2位 | Django | 35% | 2%増 |
| 3位 | Flask | 34% | 1%増 |
有名なフレームワークを知りたいときは、使用率が上位のこの3つが目安になります。Bottleは、この調査の上位10位の一覧には含まれていません。使用率の高さは、自分の用途に合うかどうかとは別の話なので、選ぶときは前の表の用途別の早見表も見てください。
4つのPython Webフレームワークの特徴とインストール方法
Webフレームワークとは、URLと処理の対応づけ(ルーティング)やテンプレートなど、Webアプリに共通する機能をまとめた枠組みです。機能のそろい方で分けると、Djangoはフルスタック、FlaskとBottleは必要な部品を足していくマイクロフレームワーク、FastAPIは非同期処理を前提にしたフレームワークと考えると違いがつかめます。
どのフレームワークも、pipでインストールします。プロジェクトごとに仮想環境(venv)を作ってから入れると、他のプロジェクトのライブラリと混ざりません。Flaskの公式ドキュメントも、仮想環境を使う方法を案内しています。
Django
【HP】https://www.djangoproject.com/


【概要】
Pythonで広く使われているフルスタックのWebフレームワークです。Web開発に必要な機能が一通りそろっており、大規模なWebアプリの開発にも使われます。
【特徴】
フルスタックと呼ばれるフレームワークです。データベース操作(ORM)・ユーザー認証・管理パネル・テンプレートエンジンなどが最初から備わっているため、自分で部品を組み合わせなくても開発を始められます。CSRF・SQLインジェクション・XSSといった一般的な攻撃への保護も組み込まれています。一方で、決まりごとが多く、小さなアプリには機能が多すぎると感じることもあります(JetBrainsの解説による)。
pip3 install Django最新バージョンと対応するPythonのバージョンは、公式のダウンロードページで確認できます。
Flask
【HP】https://flask.palletsprojects.com/


【概要】
FlaskはPythonのWebフレームワークで、軽量かつシンプルです。このため、開発を始めるときのハードルが低いです。
【特徴】
軽量で柔軟なマイクロフレームワークで、小規模から中規模の開発にむいています。データベース操作(ORM)・フォーム検証・ユーザー管理などは標準では備わっていません。SQLAlchemyやFlask-Loginなどの拡張機能から、必要なものを選んで追加します。そのぶん構成の自由度は高いですが、決まりごとが少ないため、大きなアプリでは自分で構成を整える必要があります(JetBrainsの解説による)。
pip install Flask対応するPythonのバージョンは、公式のインストール手順で確認できます。
FastAPI
【HP】https://fastapi.tiangolo.com/ja/


【概要】
FastAPIは、PythonでWeb API(「Application Programming Interface」)を開発するためのWebフレームワークです。DjangoやFlaskより新しいフレームワークで、ASGIを基盤にして、async/await(非同期処理)に標準で対応しています。
【特徴】
Pythonの型ヒントを使って、リクエストの入力チェックや、APIドキュメント(Swagger UIなど)の自動生成ができます。Webの部分はStarlette、データ検証はPydanticの上に作られています。公式サイトは、利用できるPythonフレームワークの中でも高速なものの1つと説明しています。AI・機械学習のモデルをAPIとして公開する用途でも、広く使われています。
名前の通りWeb APIに向いたフレームワークです。画面(フロントエンド)は、ReactやVue.jsなど別のツールで作る構成もあります。一方で、認証・管理画面・データベース管理の仕組みは標準では含まれないため、自分で選んで組み込みます。非同期処理に慣れていない人には、難しく感じられる点もあります(JetBrainsの解説による)。
公式チュートリアルでは、次のようにインストールします。fastapi[standard]を指定すると、開発用のコマンドと、サーバーのuvicornも一緒に入ります。
pip install "fastapi[standard]"プログラムをmain.pyに書いたら、次のコマンドで開発用サーバーを起動できます。
fastapi dev main.py対応するPythonのバージョンは、公式ドキュメントで確認してください。
Bottle
【HP】https://bottlepy.org/docs/stable/


【概要】
Bottleは、シンプルで軽量なWSGIのマイクロフレームワークです。単一のファイル(bottle.py)で配布され、Python標準ライブラリ以外に必須の依存がありません。公式サイトにはチュートリアルもあります。
【特徴】
Bottleの主な機能は、①「ルーティング」(URLと処理の対応づけ)、②「テンプレート」(標準のテンプレートエンジンを内蔵)、③フォームデータ・ファイルアップロード・Cookieなどを扱うユーティリティ、④開発用の組み込みサーバーです。必要最小限の機能にしぼった設計なので、小さなアプリを試すのに向いています。管理画面や認証まで備えた大きな開発では、Djangoのような機能のそろったフレームワークが選ばれます。
pip3 install bottlePython Webフレームワーク4つの比較表
| SOFT | FastAPI | Flask | Django | Bottle |
| 勉強のしやすさ | ||||
| 速度 | 速い | 少し遅い | 遅い・重量級 | 速い |
選ぶときは、表の項目に加えて、作りたいものに必要な機能が標準でそろっているかを基準にすると決めやすくなります。Djangoは、データベース操作・認証・管理パネルを標準で備えています。Flask・FastAPI・Bottleは、必要な部品を自分で選んで足していきます。
Pythonでフレームワークを使わずにWebアプリは作れる?
作れます。Pythonの標準ライブラリには、HTTPサーバーを作るためのhttp.serverというモジュールがあります。ただし、Python公式ドキュメントは、http.serverは本番での利用が推奨されず、基本的なセキュリティチェックしか実装していないと警告しています。
Djangoは、CSRF・SQLインジェクション・XSSなどへの保護を最初から備えています。インターネットに公開するWebアプリを作るなら、フレームワークを使うのが無難です。
まとめ
Python Webフレームワークは、作りたいものに合わせて、Django・Flask・FastAPI・Bottleから選びます。
- 管理画面・認証・データベースまで使うWebサイトなら、Django
- Web APIやAI・機械学習モデルの公開なら、FastAPI
- 小さく始めて必要な機能だけ足すなら、FlaskまたはBottle
迷ったら、まず作りたいものを決めてから、公式ドキュメントのとおりに1つ試してみてください。
関連リンク






コメント