カテゴリ: Django 更新日: 2026/02/13

DjangoのFunction-based View(FBV)の基本を完全解説!超初心者でもわかるビュー入門

Django Function-based View(FBV)の基本
Django Function-based View(FBV)の基本

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

生徒

「DjangoでWebページを表示するって聞いたんですが、何から始めればいいのかわかりません……」

先生

「Djangoではまずビューという仕組みを理解すると、Webページの流れがとても分かりやすくなります。」

生徒

「ビューって、画面のデザインのことですか?」

先生

「デザインではなく、URLにアクセスされたときに何をするかを決める場所です。まずは一番基本のFunction-based Viewから見ていきましょう。」

1. Djangoのビューとは何か?

1. Djangoのビューとは何か?
1. Djangoのビューとは何か?

Djangoのビューとは、Webサイトにアクセスがあったときに「どんな処理をして、どんな内容を画面に表示するか」を決める、とても重要な役割を持つ部分です。少し難しく聞こえますが、やっていることはとてもシンプルです。

たとえば、現実世界で考えると、ビューはレストランの「店員さん」にあたります。お客さん(ブラウザ)が「この料理ください!」と注文(URLにアクセス)すると、店員さん(ビュー)が注文内容を確認し、キッチンの状況を見て、料理(HTMLや文字)をテーブルに運びます。

Djangoでは、このビューが「文字を表示する」「HTMLページを表示する」「簡単な計算や処理をして結果を返す」といったことを担当します。初心者の方は、まずビュー=画面に表示する内容を決める処理係とイメージすると、理解しやすくなります。

実際に、ビューがどれくらい簡単なものか、超シンプルな例を見てみましょう。


from django.http import HttpResponse

def sample_view(request):
    return HttpResponse("これはDjangoのビューです")

このように、ビューは「アクセスがあったら、この文字を表示する」と決めているだけです。難しい処理はまだ一切していません。まずはビューはWebページの中身を決める場所という感覚をつかめればOKです。

2. Function-based View(FBV)とは?

2. Function-based View(FBV)とは?
2. Function-based View(FBV)とは?

Function-based View(略してFBV)は、Pythonの関数を使って作るビューのことです。Pythonで関数を書いたことがなくても大丈夫です。関数とは「やることをひとまとめにした箱」のようなものです。

FBVはコードがシンプルで読みやすく、Django初心者やプログラミング未経験者にとって理解しやすいのが特徴です。Djangoのビュー基本を学ぶ最初の一歩として、非常におすすめの方法です。

3. views.pyにFBVを書いてみよう

3. views.pyにFBVを書いてみよう
3. views.pyにFBVを書いてみよう

Djangoでは、ビューはviews.pyというファイルに書きます。このファイル名は「ビュー専用ノート」だと思ってください。まずは、文字をそのまま表示する一番シンプルなFBVを見てみましょう。


from django.http import HttpResponse

def hello_view(request):
    return HttpResponse("こんにちは、Django!")

defは「関数を作ります」という合図です。requestは「ブラウザからのお願いが入った箱」で、HttpResponseは「返事として画面に表示する内容」を表します。

4. requestとは何か?初心者向けに解説

4. requestとは何か?初心者向けに解説
4. requestとは何か?初心者向けに解説

requestという言葉は難しく見えますが、意味はとても単純です。これはユーザーが送ってきた情報のまとめです。たとえば「どのURLに来たか」「どのボタンを押したか」といった情報が入っています。

今は中身を深く理解しなくても問題ありません。「ビューには必ずrequestが渡される」というルールだけ覚えておけば十分です。

5. HTMLを返すFunction-based View

5. HTMLを返すFunction-based View
5. HTMLを返すFunction-based View

次は、実際のWebページらしくHTMLを返してみましょう。FBVでは、HTML文字列をそのまま返すこともできます。


from django.http import HttpResponse

def simple_page(request):
    html = "<h1>はじめてのDjango</h1><p>これはFBVの例です。</p>"
    return HttpResponse(html)

このように、ビューは「何を表示するか」を自由に決められます。HTMLがそのまま画面に表示されるので、Webページを作っている感覚をつかみやすいです。

6. URLとFunction-based Viewの関係

6. URLとFunction-based Viewの関係
6. URLとFunction-based Viewの関係

FBVは単体では動きません。URLとつなげることで、初めてWebページとして表示されます。URLは「住所」、ビューは「中で働く人」と考えると分かりやすいです。


from django.urls import path
from . import views

urlpatterns = [
    path("hello/", views.hello_view),
]

これで、/hello/というURLにアクセスすると、先ほど作ったhello_viewが動きます。URLとビューが結びつくことで、DjangoのWebページが完成します。

7. 少し処理を入れたFBVの例

7. 少し処理を入れたFBVの例
7. 少し処理を入れたFBVの例

最後に、簡単な処理を入れたFunction-based Viewを見てみましょう。ここでは、数字を使ったとても単純な例にします。


from django.http import HttpResponse

def number_view(request):
    number = 5 + 3
    return HttpResponse(f"計算結果は {number} です")

このように、FBVの中では普通のPythonと同じように計算や処理ができます。DjangoのFunction-based Viewは「Pythonで書いた処理の結果を画面に返す仕組み」だと考えると、理解しやすくなります。

カテゴリの一覧へ
新着記事
New1
Flask
Flask-RESTfulの基本!API開発をシンプルにする拡張機能の導入方法
New2
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New3
Flask
FlaskのAPI開発でテストを始めよう!初心者でもわかるpytestを使った基本テスト例
New4
Flask
Flaskのエラーページをカスタマイズする方法!404・500ページの作り方まとめ
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.5
Java&Spring記事人気No5
Python
Pythonのbytes型とbytearray型とは?初心者向けにバイナリデータの扱い方を解説!
No.6
Java&Spring記事人気No6
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.7
Java&Spring記事人気No7
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.8
Java&Spring記事人気No8
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説