そんなときに便利なのが「Flask」です。Flaskは、Pythonの基本文法を理解していれば、シンプルな例では数十行程度のコードでWebアプリケーションを作れる軽量フレームワークです。小規模な開発やプロトタイプ作成において、学習の容易さから選ばれることの多いフレームワークとして知られています。
この記事では、Flaskの基礎からインストール、実際にアプリを動かすまでの手順を実践的に解説します。副業でWebサービスを作りたい方、機械学習の結果をWeb画面で表示したい方にとって、最初の一歩となる内容です。
Flaskとは?なぜ初心者におすすめなのか
Flaskは、Pythonで書かれた軽量なWebアプリケーションフレームワークです。「マイクロフレームワーク」と呼ばれ、必要最小限の機能だけを持っているのが特徴です。
Flaskの主な特徴
シンプルな構造:1ファイルからWebアプリを作成できるため、学習の初期段階でつまずきにくい設計になっています。
自由度の高さ:必要な機能だけを選んで追加できるため、プロジェクトの規模や目的に応じた柔軟な開発が可能です。
豊富なドキュメント:公式ドキュメントやコミュニティの情報が充実しており、問題解決がしやすい環境が整っています。
DjangoとFlaskの使い分け
同じPythonのWebフレームワークに「Django」がありますが、一般的には以下のような使い分けが推奨されています。
Flaskが向いているケース:- 小規模なWebアプリやAPIの開発- 機械学習モデルのWeb化- プロトタイプの迅速な作成- 自由な設計で開発したい場合
Djangoが向いているケース:- 大規模な業務システム- ユーザー認証や管理画面が標準で必要- チーム開発でルールを統一したい場合
多くのケースで、副業で簡単なWebツールを作る場合や、データ分析結果を可視化したい場合はFlaskから始めるのが効率的とされています。
Flaskのインストールと環境構築
実際にFlaskを使える状態にするまでの手順を説明します。
仮想環境の作成
まず、プロジェクトごとに独立した環境を作ることをおすすめします。これにより、ライブラリのバージョン競合を避けられます。
Flaskのインストール
仮想環境を有効化した状態で、pipコマンドを使ってFlaskをインストールします。
インストール後、正しく導入されたか確認しましょう。
バージョン情報が表示されれば、インストール成功です。Flaskは初心者向けの設計のため導入が比較的スムーズですが、もしエラーが出た場合は、Pythonのバージョンが3.8以上(推奨:3.10以上)であることを確認してください。
初めてのFlaskアプリケーション作成
最小構成のFlaskアプリを作って、実際に動かしてみましょう。
最小限のコード
app.pyという名前でファイルを作成し、以下のコードを記述します。
コードの解説
Flask(name):Flaskアプリケーションのインスタンスを作成します。__name__は現在のモジュール名を表す特殊変数です。
@app.route(‘/’):デコレータと呼ばれる記法で、URLパスと関数を紐付けます。この場合、ルートパス(/)にアクセスしたときにhello()関数が実行されます。
app.run(debug=True):開発用サーバーを起動します。debug=Trueにすることで、コード変更時の自動リロードやエラー詳細表示が有効になります。
アプリの実行
ターミナルで以下のコマンドを実行します。
ブラウザでhttp://localhost:5000にアクセスすると、「Hello, Flask!」と表示されます。少ないコード量でWebアプリが動作するシンプルさが、Flaskの特徴の一つです。
ルーティングとHTMLテンプレートの基本
実用的なWebアプリを作るには、複数のページや動的なコンテンツ表示が必要です。
複数のルート設定
のように記述することで、URLの一部を変数として受け取れます。これにより、動的なページ生成が可能になります。
HTMLテンプレートの使用
実際のWebアプリでは、HTMLファイルを使って画面を構築します。Flaskでは「Jinja2」というテンプレートエンジンが標準搭載されています。
まず、プロジェクトフォルダに以下の構造を作ります。
templates/index.htmlを作成します。
app.pyを以下のように修正します。
render_template()関数を使うことで、HTMLファイルを読み込み、Pythonの変数を埋め込めます。{{ name }}の部分が、渡した値に置き換わります。
フォームデータの受け取り
ユーザーからの入力を受け取る例です。
methods=[‘POST’]を指定することで、POSTリクエストを受け付けるようになります。request.formでフォームデータにアクセスできます。
まとめ:Flaskで始めるWeb開発の第一歩
この記事では、Python FlaskによるWebアプリ開発の基礎を解説しました。インストールから最小構成のアプリ作成、ルーティング、テンプレート表示まで、一通りの流れが理解できる内容となっています。
Flaskは学習が比較的容易で、Pythonの知識があれば基本的な使用方法に到達しやすいフレームワークです。副業でWebサービスを作りたい方、機械学習の成果物をWeb化したい方にとって、有力な選択肢の一つです。
次のステップとしては、データベース連携(SQLAlchemy)や認証機能の実装、CSSフレームワーク(Bootstrap)との組み合わせなど、実用的な機能を追加していくことをおすすめします。まずは今回紹介したコードを実際に動かして、Webアプリ開発の楽しさを体感してみてください。


コメント