PythonとFlaskでシンプルなWebアプリケーションを作成する手順

Sponsored Link

はじめに

Pythonは、シンプルかつ柔軟なコードが書けるため、Web開発でも多く使用されています。FlaskはPythonの軽量Webフレームワークで、簡単にWebアプリケーションを作成できるツールとして広く利用されています。本記事では、PythonとFlaskを使ったシンプルなWebアプリケーションの作成手順について解説します。この記事を参考にすれば、Flaskの基礎を学びつつ、基本的なWebアプリケーションの構築が可能になります。

Flaskとは?

Flaskの概要

Flaskは、PythonでWebアプリケーションを構築するための軽量フレームワークです。デフォルトでは最小限の機能しか含まれていないため、シンプルで柔軟な構成が特徴です。必要に応じて拡張機能を追加できるため、小規模なプロジェクトから大規模なWebアプリケーションまで幅広く利用されています。

Flaskのメリット

  • シンプルな構造:小さなコード量でWebアプリケーションの開発が可能
  • 拡張性が高い:必要に応じて追加ライブラリで機能を増やせる
  • 開発がスピーディ:必要最小限の設定で素早くアプリケーションのプロトタイプを作成可能

Flaskのインストール

Flaskを使ってWebアプリケーションを開発するには、まずFlaskライブラリをインストールする必要があります。Pythonのパッケージマネージャであるpipを使用してインストールできます。

手順

仮想環境の作成

Flask開発を行うディレクトリで、Pythonの仮想環境を作成します。仮想環境を利用することで、開発環境と他のプロジェクト環境を分離できます。

python3 -m venv venv

仮想環境の有効化

仮想環境を有効化し、Flaskがこの環境内にインストールされるようにします。

source venv/bin/activate   # MacやLinuxの場合
venv\Scripts\activate      # Windowsの場合

Flaskのインストール

仮想環境が有効になった状態で、以下のコマンドを実行し、Flaskをインストールします。bashコードをコピーする

pip install Flask

インストールの確認

Flaskがインストールされたことを確認するには、以下のコマンドでFlaskのバージョンを確認します。bashコードをコピーする

flask --version

シンプルなFlaskアプリケーションの作成

プロジェクト構成

まずは基本的なFlaskアプリケーションのファイル構成を確認しましょう。

bashコードをコピーするflask_app/
├── app.py           # メインのアプリケーションファイル
└── templates/
    └── index.html   # テンプレートファイル

Flaskアプリケーションの作成

メインのアプリケーションファイルの作成

プロジェクトディレクトリ(flask_app)内にapp.pyというファイルを作成し、以下のコードを追加します。

# app.py
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

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

テンプレートファイルの作成

templatesフォルダを作成し、その中にindex.htmlファイルを追加します。以下はシンプルなHTMLテンプレートです。

<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Flask App</title>
</head>
<body>
  <h1>ようこそ、Flaskアプリケーションへ!</h1>
  <p>これはシンプルなWebアプリケーションのサンプルです。</p>
</body>
</html>

アプリケーションの起動

ターミナルで以下のコマンドを実行し、アプリケーションを起動します。

python app.py

ブラウザでhttp://127.0.0.1:5000/にアクセスすると、作成したHTMLページが表示されます。

Flaskの基本機能

ルーティング

Flaskでは、@app.route()デコレータを使用してURLパスごとに異なるページを表示することができます。

@app.route('/about')
def about():
return "<h1>このページはAboutページです。</h1>"

/aboutにアクセスすると、「このページはAboutページです。」と表示されます。

テンプレートエンジン

FlaskにはJinja2というテンプレートエンジンが組み込まれており、PythonコードをHTMLに埋め込むことができます。

例:変数の表示

# app.py
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)
<!-- templates/user.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ユーザーページ</title>
</head>
<body>
<h1>{{ name }}さん、ようこそ!</h1>
</body>
</html>

フォームの実装

Flaskでフォームからデータを受け取ることで、インタラクティブなWebアプリケーションを作成できます。以下では、シンプルなフォームの例を示します。

フォームページの作成

# app.py
from flask import request

@app.route('/form', methods=['GET', 'POST'])
def form():
if request.method == 'POST':
username = request.form['username']
return f'<h1>{username}さん、こんにちは!</h1>'
return '''
<form method="post">
<label>ユーザー名:</label>
<input type="text" name="username">
<input type="submit">
</form>
'''

Flaskアプリケーションのデプロイ

Flaskで開発したアプリケーションを公開するために、デプロイ手順も確認しましょう。

デプロイ方法の例:Heroku

Heroku CLIのインストール

Heroku CLIをインストールし、ログインします。

アプリケーションの準備

Procfilerequirements.txtをプロジェクトディレクトリに追加し、必要なパッケージを指定します。

Herokuへのデプロイ

以下のコマンドでHerokuにアプリケーションをプッシュします。

git init
heroku create
git add .
git commit -m "First commit"
git push heroku master

まとめ

Flaskは、シンプルなWebアプリケーションを素早く構築できるフレームワークです。この記事では、インストールから基本操作、ルーティングやフォームの実装、さらにデプロイ方法についても解説しました。Flaskを使って小規模なプロジェクトに挑戦し、Web開発スキルを高めてみてください。

Welcome to Python.org
The official home of the Python Programming Language
Flaskへようこそ — Flask Documentation (2.2.x)

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