Python Flask入門:初心者でも作れるWebアプリ開発の始め方

プログラミング学習

そんなときに便利なのが「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アプリ開発の楽しさを体感してみてください。

※本記事の情報は執筆時点のものです。料金・サービス内容・制度は変更される場合があります。最新情報は各公式サイトにてご確認ください。

コメント

タイトルとURLをコピーしました