okpy

Pythonエンジニア兼テックリーダーが、多くのプロジェクトとチーム運営から得た実践的な知識を共有するブログです。

Flaskライブラリの完全ガイド

Python flask ライブラリ完全ガイド

Pythonflask は、軽量でシンプルな Web アプリケーションを作成するためのミニマリブラウザーです。

1. flask ライブラリの概要

インストール方法

pip install flask

2. 主な機能と使用例

(1) 基本的なルート操作

from flask import Flask
app = Flask(__name__)

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

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

(2) URL パラメータの受け取り

@app.route("/user/<username>")
def show_user(username):
    return f"User: {username}"

(3) GET と POST の対応

from flask import request

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        return "POST でログイン"
    return "ログインページ"

(4) HTML レンダリング (Jinja2)

from flask import render_template

@app.route("/welcome")
def welcome():
    return render_template("welcome.html", name="Flask")

(5) リダイレクト

from flask import redirect, url_for

@app.route("/admin")
def admin():
    return redirect(url_for("hello"))

(6) JSON の返信

from flask import jsonify

@app.route("/api")
def api():
    return jsonify({"status": "ok", "message": "Flask API"})

(7) セッション利用

from flask import session

app.secret_key = "secret"

@app.route("/set")
def set_session():
    session["user"] = "admin"
    return "session set"

(8) ファイルアップロード

from flask import request

@app.route("/upload", methods=["POST"])
def upload():
    file = request.files["file"]
    file.save(f"./uploads/{file.filename}")
    return "uploaded"

(9) フラスコマンド 実行

flask --app app run --debug

(10) プロダクション環境の構築

from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.route("/")
    def index():
        return "Hello from factory"

    return app

3. Flask の主要機能

機能 説明
ルーティング URL によって処理を分岐
テンプレート Jinja2 を用いて HTML を編集
API 開発 RESTful API の構築が容易
session/リダイレクト ユーザー状態の管理
ファイルアップロード POST によるデータ送信

まとめ

Flask は、シンプルで高機能な Web アプリを Python で開発したい方に最適です。 開発スピード、簡単なコード構成、API/ページの一括管理を実現し、個人ブログから端末向けサービスまで対応できます 🚀