Blog

【Python Flask】初心者プログラマーがWebアプリ開発を始めるための完全ガイド

【Python Flask】初心者プログラマーがWebアプリ開発を始めるための完全ガイド

Flask app development

アイディアがある?

Hitekはいつでもあなたに同行する準備ができています。

PythonでWebアプリを作りたいと思ったとき、Flaskは最適な選択肢の一つです。軽量で柔軟、かつ初心者にも優しいフレームワークとして知られ、シンプルなブログから本格的なAPIまで幅広く開発できます。この記事では、Flaskの基本から実際に動くアプリの作り方まで、初心者向けにわかりやすく解説します。


1. Flaskとは? その特徴と魅力

Flaskは、Python製のマイクロWebフレームワークです。Djangoのような「すべてを含む」フレームワークとは異なり、必要最小限の機能を提供し、拡張性が高いのが特徴です。

  • 軽量で学習コストが低い → 初心者でもすぐに始められる
  • 拡張可能 → 必要な機能はライブラリで追加できる
  • シンプルなコード構造 → 小規模プロジェクトに最適

例えば、たった5行のコードでWebサーバーを立ち上げられます。

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run()

このシンプルさが、Flaskが人気を集める理由です。


2. Flaskの環境構築(Windows/Mac対応)

まずは、PythonとFlaskをインストールしましょう。

手順1: Pythonのインストール

まだPythonを入れていない場合は、公式サイトから最新版をダウンロードしてください。

手順2: Flaskのインストール

ターミナル(Mac)またはコマンドプロンプト(Windows)で以下を実行します。

pip install flask

手順3: 動作確認

先ほどの5行コードをapp.pyとして保存し、実行します。

python app.py

ブラウザでhttp://127.0.0.1:5000/にアクセスし、「Hello, Flask!」と表示されれば成功です。


3. Flaskで作る初めてのWebアプリ(ToDoリスト)

基本を理解したら、実際に動くアプリを作ってみましょう。ここではシンプルなToDoリストを開発します。

必要な機能

  • ToDoの追加
  • ToDoの表示
  • ToDoの削除

コード例

from flask import Flask, render_template, request, redirect

app = Flask(__name__)
todos = []

@app.route('/')
def index():
    return render_template('index.html', todos=todos)

@app.route('/add', methods=['POST'])
def add():
    todo = request.form.get('todo')
    todos.append(todo)
    return redirect('/')

@app.route('/delete/<int:index>')
def delete(index):
    if 0 <= index < len(todos):
        todos.pop(index)
    return redirect('/')

if __name__ == '__main__':
    app.run(debug=True)

HTMLテンプレート(templates/index.html

<!DOCTYPE html>
<html>
<head>
    <title>Flask ToDo</title>
</head>
<body>
    <h1>ToDoリスト</h1>
    <form action="/add" method="post">
        <input type="text" name="todo" required>
        <button type="submit">追加</button>
    </form>
    <ul>
        {% for todo in todos %}
        <li>
            {{ todo }}
            <a href="/delete/{{ loop.index0 }}">削除</a>
        </li>
        {% endfor %}
    </ul>
</body>
</html>

これで、ToDoを追加・削除できるシンプルなアプリが完成です!


4. Flaskの主要機能まとめ

機能 説明 使用例
ルーティング URLと関数を紐づける @app.route('/')
テンプレート HTMLを動的に生成 render_template()
フォーム処理 ユーザー入力を受け取る request.form.get()
リダイレクト 別のページに転送 redirect('/')

5. 次のステップ:Flaskでできること

Flaskは基本を押さえれば、さらに高度な開発も可能です。

  • データベース連携SQLAlchemyを使えばMySQL/PostgreSQLと接続可能
  • ユーザー認証Flask-Loginでログイン機能を実装
  • API開発Flask-RESTfulでRESTful APIを構築

例えば、Flask + SQLite3でデータを永続化するには、以下のようにします。

import sqlite3
from flask import g

def get_db():
    if 'db' not in g:
        g.db = sqlite3.connect('todos.db')
    return g.db

@app.teardown_appcontext
def close_db(e=None):
    db = g.pop('db', None)
    if db is not None:
        db.close()

6. まとめ:Flaskは初心者に最適なWebフレームワーク

Flaskは、少ないコードでWebアプリを構築できるため、初心者でも気軽に始められます。

  • シンプルな構造 → 基本を学びやすい
  • 拡張性が高い → 必要に応じて機能追加可能
  • Pythonの強力なライブラリと連携 → 機械学習やデータ分析とも組み合わせられる

「まずは小さく始め、必要に応じて拡張する」という哲学は、プログラミング学習にも最適です。

さあ、あなたもFlaskで最初のWebアプリを作ってみましょう! 🚀

【次のステップ】
Flaskの公式ドキュメント(Flask Official Site)を参考に、さらに深く学んでみてください。

その他のニュース
Lên đầu trang