カテゴリ: Flask 更新日: 2025/11/23

Flaskとフロントエンドの関係とは?初心者でもわかる仕組みと役割をやさしく解説!

Flaskとフロントエンドの関係とは?初心者向けに役割をわかりやすく解説
Flaskとフロントエンドの関係とは?初心者向けに役割をわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「先生、Flaskってよく聞くんですけど、フロントエンドとどう関係があるんですか?」

先生

「とても良い質問ですね。Flask(フラスク)はPythonで作られた“Webアプリの後ろ側”、つまりサーバー側を担当する仕組みなんです。」

生徒

「えっ?サーバー側?フロントエンドっていうのもよく聞きますけど、それとは違うんですか?」

先生

「そうですね。フロントエンドは“見える部分”、Flaskは“見えない部分”の役割を持っています。では、もう少し詳しく見てみましょう!」

1. Flaskとは?Pythonで作るWebアプリの裏側担当

1. Flaskとは?Pythonで作るWebアプリの裏側担当
1. Flaskとは?Pythonで作るWebアプリの裏側担当

Flask(フラスク)は、Pythonというプログラミング言語で作られた軽量なWebフレームワークです。 「フレームワーク」とは、Webサイトを作るときに必要な機能をまとめた“道具箱”のようなものです。

Flaskを使うと、難しい設定を一から行わなくても、Webアプリケーション(Web上で動くアプリ)を簡単に作ることができます。

例えば、ブラウザで「こんにちは!」と表示する簡単なWebページを作るには、次のようなPythonコードを書きます。


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "こんにちは!Flaskの世界へようこそ!"

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

このコードを実行すると、自分のパソコンでWebサーバーが起動し、ブラウザに「こんにちは!Flaskの世界へようこそ!」と表示されます。

2. フロントエンドとは?ユーザーが見て触る部分

2. フロントエンドとは?ユーザーが見て触る部分
2. フロントエンドとは?ユーザーが見て触る部分

フロントエンドとは、ユーザーが実際に見る部分、つまり画面のデザインやボタン、入力フォームなどのことです。 例えば、あなたがネットショッピングのサイトで「カートに入れる」ボタンを押すとき、それはフロントエンドの仕組みが動いています。

フロントエンドでは主に以下の3つの言語が使われます。

  • HTML(エイチティーエムエル):Webページの構造を作る
  • CSS(シーエスエス):デザインや色をつける
  • JavaScript(ジャバスクリプト):動きをつける

例えば、Flaskで作ったWebページにHTMLを使って「ようこそ!」という文字を表示する場合は、次のようにします。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>Flaskの練習</title>
</head>
<body>
    <h1>ようこそ!Flaskとフロントエンドの世界へ!</h1>
</body>
</html>

このHTMLファイルをFlaskと組み合わせることで、ブラウザに綺麗なページを表示することができます。

3. Flaskとフロントエンドの関係を図でイメージしよう

3. Flaskとフロントエンドの関係を図でイメージしよう
3. Flaskとフロントエンドの関係を図でイメージしよう

初心者の方がイメージしやすいように、Flaskとフロントエンドの関係を「レストラン」にたとえて説明します。

  • フロントエンド:お客さんが見るメニューや料理(見える部分)
  • Flask:料理を作るキッチン(見えない部分)
  • ブラウザ:お客さん(ユーザー)が料理を注文する場所

お客さんが「注文ボタン」を押すと、Flaskがその情報を受け取り、必要なデータを用意して、料理(ページ)としてお客さんに返します。 つまり、Flaskはデータを処理して、フロントエンドに渡す役目を持っています。

4. FlaskでHTMLテンプレートを使う方法

4. FlaskでHTMLテンプレートを使う方法
4. FlaskでHTMLテンプレートを使う方法

Flaskでは、テンプレートエンジン(てんぷれーとえんじん)という仕組みを使ってHTMLとPythonを組み合わせることができます。 Flaskでは「Jinja2(じんじゃツー)」というテンプレートエンジンが標準で使われています。


from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html", name="太郎")

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

このコードでは、Flaskがtemplatesフォルダの中にあるindex.htmlを探し、その中でPythonから渡されたデータ(name="太郎")を使います。


<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>Flaskテンプレート</title>
</head>
<body>
    <h1>{{ name }}さん、こんにちは!</h1>
</body>
</html>

これを実行すると、ブラウザには「太郎さん、こんにちは!」と表示されます。 つまり、FlaskがPythonでデータを用意し、HTMLがそのデータを表示するという流れです。

5. Flaskとフロントエンドが連携する仕組みまとめ

5. Flaskとフロントエンドが連携する仕組みまとめ
5. Flaskとフロントエンドが連携する仕組みまとめ

ここまで学んだように、Flaskとフロントエンドは協力しながらWebサイトを作ります。 Flaskはサーバーとしてデータを管理し、フロントエンドはそのデータを「見える形」にしてくれます。

たとえば、ブログサイトを作る場合:

  • Flaskが「投稿内容」をデータとして用意する
  • フロントエンド(HTML・CSS・JavaScript)が「記事ページ」を作って表示する

このように、Flaskは「頭脳」、フロントエンドは「顔や体」のような関係です。どちらが欠けてもWebサイトは動きません。

初心者の方は、まずこの2つの役割をしっかり理解することで、Flaskを使ったWeb開発の基礎がぐっと身近になります。

カテゴリの一覧へ
新着記事
New1
Flask
FlaskでSQLインジェクションを防ぐ方法!初心者でもわかる安全なデータベース操作
New2
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New3
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New4
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.7
Java&Spring記事人気No7
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本