Flask(フラスク)とは、Pythonで書かれたWebアプリケーションフレームワークです。
本記事ではWebアプリ開発者に向けて、Flaskの機能や特徴のほか、インストール手順および基本的な使い方を解説します。
\ 2週間無料でお試しできます! /
Unix/Linux系VPSをこの価格で!
・全プランSSD搭載でコストパフォーマンス◎
・豊富なOSラインアップ
・充実の無料サポート
VPSを使ってみる
目次
Flaskとは
Flaskの概要
Flaskは、Pythonプログラミング言語で書かれた軽量なWebフレームワークで、2010年4月にArmin Ronacherによって開発されました。
「マイクロフレームワーク」として分類されるFlaskは、最小限のコア機能を持ち、プラグインや拡張モジュールを使用して必要な機能のみを追加できる特徴があります。
これにより、開発者はプロジェクトの規模や要件に応じて必要な機能だけを取り入れ、効率的な開発を行えます。
Flaskは、以下の特徴があります。
・シンプルで軽量
・柔軟性、拡張性が高い
・学習しやすい
また、FlaskはPythonの標準ライブラリと互換性が高く、初心者から経験者まで開発者に人気のWebフレームワークです。
2024.04.11
Pythonとは。特徴、メリット、実際の活用例を解説!
「今人気のあるプログラミング言語はPython」そんなフレーズを聞いたことがある人も多いのではないでしょうか?Pyt...
Flaskの機能
・ルーティング
ルーティングとは、URLパスと対応する処理を結びつけることです。
Flaskのルーティング機能は、ユーザーのリクエストURLに応じた処理を行います。
@app.route(‘/’)のようなシンプルな記述でURLと関数を関連付けることができ、複雑なWebアプリケーションの開発も可能です。
・テンプレートエンジン
テンプレートエンジンとは、HTMLとプログラムコードを組み合わせて動的なWebページを生成する仕組みです。
FlaskはJinja2というテンプレートエンジンを採用しています。
これはHTMLとPythonコードを組み合わせた動的なWebページの生成をサポートします。
Jinja2を使えば、変数や制御構文を簡単に埋め込むことができ、ユーザーのデータに基づいたリアルタイムなコンテンツ更新が可能です。
・リクエスト処理
リクエスト処理とは、HTTPリクエストを受け取り、それに応じた処理を行う仕組みです。
FlaskはHTTPリクエストの処理をサポートし、GETやPOSTなどのメソッドに対応したルート設定が可能です。
また、requestオブジェクトを通じて、フォームデータやJSONなどの入力データが扱えます。
これにより、ユーザーの入力に応じた柔軟な処理が可能です。
・セッション管理
セッション管理はユーザーのログイン情報や状態をサーバー側で保持し、Cookieに暗号化して保存します。
これにより、ユーザーが再訪しても状態を維持でき、セキュアでパーソナライズされたサービス提供が可能です。
・静的ファイルの提供
Flaskは/staticディレクトリを利用してCSSやJavaScript、画像などの静的ファイルを提供します。
この機能により、パフォーマンスが最適化され、Webページの表示速度が向上します。
\ 2週間無料でお試しできます! /
VPSを使ってみる
Flaskのインストール手順
前提条件
本記事では、ミライサーバーのVPSを利用しLinux環境の仮想マシンを使用します。
FlaskをインストールするLinux環境のスペックについてご紹介します。
【Linux環境】
・OS:Ubuntu 22.04.2 LTS
・CPU:4コア
・Memory:4GB
・Disk:SSD300GB
※ミライサーバーではUbuntu 22.04.2 LTSなどのOSをインストールした状態からお使いいただけます。
また、Flaskをインストールするためには、事前に以下のソフトウェアがインストールされている必要があります。
・Python環境:Python 3.7以上がインストールされていること
・パッケージ管理ツール:pipがインストールされていること
インストール手順の概要は以下のとおりです。
1. 前提のソフトウェアがインストールされていることの確認
2. Flaskのインストール
3. Flaskがインストールされていることの確認
インストール手順
手順1:前提のソフトウェアがインストールされていることの確認
前提となるPython環境、パッケージ管理ツールがインストールされていることを確認します。
1.Pythonの確認
まず、Pythonがインストールがされていることを確認するため、以下のコマンドを実行します。
インストールされていれば、バージョン情報が表示されます。
python3 -V
インストールされていない場合は、以下のコマンドでPythonをインストールします。
sudo apt-get update
sudo apt-get install python3
2.パッケージ管理ツール(pip)の確認
続いて、パッケージ管理ツール(pip)がインストールされていることを確認するため、以下のコマンドを実行します。
バージョン情報が表示されれば、インストールされています。
pip –version
インストールされていない場合は、以下のコマンドでインストールを行います。
sudo apt-get update
sudo apt-get install python3-pip
手順2:Flaskのインストール
pipを使用してFlaskをインストールします。
pip install Flask
インストール時、上記の画像の黄色い文言で警告文が表示されることがあります。
これは、インストールしたflaskにパスが通っていないことを意味しています。
以下のコマンドを実行するか、プロファイルでパスを通しておきましょう。
export PATH=$PATH:~/.local/bin
手順3:Flaskがインストールされていることの確認
Flaskが正しくインストールされているか確認します。
以下のコマンドを実行すると、Flaskのバージョン情報が表示されます。
flask —version(※ —は-を2回重ねる)
\ 2週間無料でお試しできます! /
VPSを使ってみる
Flaskの基本的な使い方
Flaskのインストールが完了したら、簡単なアプリケーションを作成してみましょう。
ここからは、最初に簡単なアプリケーションを作成し、そこからFlaskの機能を使用し基本的な使い方を紹介します。
サンプルアプリケーションの作成
「Hello,Flask!」という文字列が表示されるアプリケーションを作成します。
新規にPythonファイル「sample.py」を作成し、以下のコードを記載します。
【sample.py】
from flask import Flask
app = Flask(__name__)
@app.route(‘/’)
def hello():
return “Hello, Flask!”
if __name__ == ‘__main__’:
app.run(debug=True)
ファイルを作成したら、以下のコマンドで実行します。
python3 sample.py
この状態で、表示されたURL(http://127.0.0.1:5000)にブラウザを使ってアクセスし、「Hello, Flask!」が表示されたら成功です。
ルーティング
ルーティングは、URLとFlaskの関数をマッピングします。
例えば、先ほどのsample.pyから、以下の太字の部分を追記します。
【sample.py】
from flask import Flask
app = Flask(__name__)
@app.route(‘/’)
def hello():
return “Hello, Flask!”
@app.route(‘/world’)
def world():
return “Hello, World!”
if __name__ == ‘__main__’:
app.run(debug=True)
ブラウザで「http://127.0.0.1:5000」にアクセスするとhello()の関数が実行され、「Hello, Flask!」が表示されます。
「http://127.0.0.1:5000/world」にアクセスすると、world()の関数が実行され、「Hello, World!」と表示されます。
このように、ルーティングを使用するとURLを変更するだけで実行する関数も変更できます。
テンプレート
1.テンプレートディレクトリとHTMLファイルの作成
「templates」ディレクトリを作成し、配下にベースとなるhtmlファイルを置くことで、簡単に動的なWebページを作成できます。
例えば、templateディレクトリを作成し、その中に以下のようなhtmlファイルを作成します。
【index.html】
<!DOCTYPE html>
<html>
<head>
<title>flask test</title>
</head>
<body>
<h1>Test Message, {{ message }}</h1>
</body>
</html>
2.Flaskアプリケーションの作成
次に「sample_template.py」では、以下のコードを記載します。
太字の部分が、テンプレートを利用した処理になります。
【sample_template.py】
from flask import Flask,render_template
app = Flask(__name__)
@app.route(‘/’)
def index():
return render_template(‘index.html’,message=”Flask”)
if __name__ == ‘__main__’:
app.run(debug=True)
ファイル構成は、以下のようなイメージとなります。
・sample_template.py(pythonファイル)
・templates(テンプレートとなるHTMLファイルが入るディレクトリ)
└ index.html
この状態でsample_template.pyを実行し、ブラウザで確認すると以下のように表示されます。
これは、テンプレート「index.html」内の{{ message }}の部分に、sample_template.pyで指定された「message=”Flask”」の部分が埋め込まれ、表示された形になります。
\ 2週間無料でお試しできます! /
VPSを使ってみる
まとめ
本記事では、Flaskのインストール手順および基本的な使い方について解説しました。
Flaskの機能「ルーティング」「テンプレート」などを利用することで、効率よくWebアプリケーションを開発することができます。
PythonでWebアプリケーションを開発する際は、本記事を参考にぜひ利用を検討してみてください。
お試しで検証する際は、簡単に環境を準備できるミライサーバーがおすすめです。
UbuntuをVPSで利用するならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。