Python

【Python】第8章第2回:Flaskによる簡単なWebアプリ作成

本記事では、Flaskを使用して基本的なWebアプリケーションを作成する方法を解説します。最初の一歩を踏み出してみましょう!

0. 記事の概要

この記事を読むメリット

  • シンプルなWebアプリ作成を体験:Flaskの基本的な使い方を学べます。
  • Pythonでのバックエンド構築を習得:Webアプリの基盤を作る方法を理解できます。
  • Flaskの応用力を身に付ける:本格的なWebアプリへの応用が可能になります。

この記事で学べること

  • Flaskの基本的な機能と使い方
  • 簡単なWebアプリケーションの構築手順
  • Flaskを使ったルーティングの実装方法

1. Flaskとは何か?

1.1 Flaskの概要

FlaskはPythonで利用可能な軽量なWebフレームワークです。以下の特徴があります。

  • シンプルで学びやすい構文
  • 拡張性が高く、小規模から大規模プロジェクトまで対応可能
  • HTMLやCSSなどのフロントエンドと連携が容易

1.2 Flaskのインストール

# Flaskのインストールコマンド
pip install flask

2. Flaskで簡単なWebアプリを作成

2.1 基本構造の解説

以下はFlaskを使った最もシンプルなWebアプリケーションの例です。

2.2 コード例: 初めてのWebアプリ

# Flaskを使った最初のアプリ
from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "こんにちは、Flask!"

if __name__ == "__main__":
    app.run(debug=True)
動作解説
  • app = Flask(__name__): Flaskアプリケーションのインスタンスを作成。
  • @app.route: URL「/」に対応する関数を定義。
  • app.run: ローカルサーバーを起動してアプリケーションを実行。

3. Flaskのルーティングを学ぶ

3.1 複数のルートを作成

# 複数ルートの作成例
@app.route("/about")
def about():
    return "このページはAboutページです。"

@app.route("/contact")
def contact():
    return "このページはContactページです。"
動作解説
  • 複数ルート: 各URLに対して異なる関数を定義できます。
  • 再利用可能: アプリケーションの規模に応じてルートを増やせます。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. Flaskアプリで「/hello」というルートを作成し、名前を受け取って「こんにちは、〇〇さん!」と表示してください。
  2. HTMLを返すようにルートを改良してください。
  3. エラーハンドリングページ(例: 404エラー)を作成してください。

5. 練習問題の解答と解説

問1の解答例

# 名前を受け取るルート
@app.route("/hello/<name>")
def hello(name):
    return f"こんにちは、{name}さん!"

問2の解答例

# HTMLを返すルート
@app.route("/")
def home():
    return "<h1>こんにちは、世界!</h1>"

問3の解答例

# 404エラーハンドリング
@app.errorhandler(404)
def not_found(error):
    return "ページが見つかりませんでした。", 404

6. まとめ

本記事では、Flaskを使った簡単なWebアプリの作成方法を解説しました。次は、さらに高度なアプリケーションに挑戦してみましょう!