カテゴリ: Python 更新日: 2026/04/25

PythonのDjango REST Framework(DRF)でAPIを作成する方法を初心者向けに解説!Python API開発入門

PythonのDjango REST Framework(DRF)でAPIを作成する方法
PythonのDjango REST Framework(DRF)でAPIを作成する方法

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

生徒

「PythonでWebサービスを作るときに、APIってよく聞くんですが、どういうものなんですか?」

先生

「APIとは、プログラム同士がデータをやり取りするための仕組みのことです。たとえば、スマホアプリがサーバーにデータを取りに行くとき、そのやり取りをする窓口がAPIです。」

生徒

「PythonでもAPIは作れるんですか?」

先生

「もちろん作れます。PythonではDjango REST Framework(DRF)という便利なフレームワークを使うと、初心者でも比較的簡単にWeb APIを開発できます。」

生徒

「難しそうですが、パソコン初心者でも理解できますか?」

先生

「順番に学べば大丈夫です。PythonでのAPI開発の基本から、Django REST Frameworkの使い方までやさしく説明していきます。」

1. Django REST Framework(DRF)とは?PythonでAPI開発するためのフレームワーク

1. Django REST Framework(DRF)とは?PythonでAPI開発するためのフレームワーク
1. Django REST Framework(DRF)とは?PythonでAPI開発するためのフレームワーク

Django REST Framework(DRF)とは、PythonのWebフレームワークである Djangoを使ってWeb APIを簡単に作るためのツールです。

そもそもフレームワーク

最初から全部自分で作るのではなく、最初から用意されている仕組みを使うことで、 短時間で安全にPython API開発ができるようになります。

Django REST Frameworkは次のような特徴があります。

  • PythonでREST APIを簡単に作れる
  • JSON形式でデータを返せる
  • データベースと簡単に連携できる
  • 管理画面やテスト機能が充実している

2. Django REST Frameworkをインストールする方法(Python API開発準備)

2. Django REST Frameworkをインストールする方法(Python API開発準備)
2. Django REST Frameworkをインストールする方法(Python API開発準備)

まずは、Pythonの環境にDjango REST Frameworkをインストールします。 Pythonではpipというツールを使ってライブラリを追加します。

pipとは、Pythonのプログラム部品をインストールするためのツールです。 スマホのアプリストアのようなイメージです。


pip install django
pip install djangorestframework

Djangoをまだ作っていない場合は、次のコマンドでプロジェクトを作成します。


django-admin startproject myproject
cd myproject
python manage.py startapp api

これでPythonのAPI開発の準備が整いました。

3. Django REST Frameworkでモデル(データ構造)を作る

3. Django REST Frameworkでモデル(データ構造)を作る
3. Django REST Frameworkでモデル(データ構造)を作る

APIではデータを扱います。そのデータの形を決めるものを モデル(Model)といいます。

モデルとは、データベースの設計図のようなものです。 例えば「本の情報」を保存する場合は、次のように書きます。


from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    price = models.IntegerField()

    def __str__(self):
        return self.title

このコードでは、本のタイトルと価格を保存できるデータ構造を作っています。 Djangoでは、このモデルを使ってデータベースのテーブルが自動で作られます。

4. Serializer(シリアライザー)とは?Python APIでデータをJSONに変換

4. Serializer(シリアライザー)とは?Python APIでデータをJSONに変換
4. Serializer(シリアライザー)とは?Python APIでデータをJSONに変換

Django REST FrameworkではSerializer(シリアライザー)という仕組みを使います。

シリアライザーとは、PythonのデータをJSON形式に変換するためのツールです。

JSONとは、Web APIでよく使われるデータ形式です。 Webサービスやスマホアプリとデータをやり取りするときによく使われます。


from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):

    class Meta:
        model = Book
        fields = ['id', 'title', 'price']

このコードを書くことで、BookモデルのデータをAPIとして返すことができるようになります。

5. Django REST FrameworkでAPIビューを作る

5. Django REST FrameworkでAPIビューを作る
5. Django REST FrameworkでAPIビューを作る

次に、実際にAPIとして動作する処理を書きます。 この処理をビュー(View)と呼びます。

ビューとは、ユーザーからのリクエストを受け取り、 データを返す処理のことです。


from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def hello_api(request):

    data = {
        "message": "Hello Django REST Framework"
    }

    return Response(data)

このAPIにアクセスすると、JSON形式でメッセージが返されます。


{
    "message": "Hello Django REST Framework"
}

このようにして、PythonでAPIサーバーを作ることができます。

6. URLを設定してAPIにアクセスできるようにする

6. URLを設定してAPIにアクセスできるようにする
6. URLを設定してAPIにアクセスできるようにする

作成したAPIをブラウザやアプリから使えるようにするには、 URL設定を行います。

URLとは、Webサイトの住所のようなものです。 APIにも専用のURLを用意する必要があります。


from django.urls import path
from .views import hello_api

urlpatterns = [
    path('hello/', hello_api),
]

この設定をすると、次のようなURLでAPIにアクセスできます。


http://localhost:8000/hello/

ブラウザでアクセスすると、JSONデータが表示されます。 これがPython APIサーバーの基本的な仕組みです。

7. Django REST Frameworkでできること(Python API開発のメリット)

7. Django REST Frameworkでできること(Python API開発のメリット)
7. Django REST Frameworkでできること(Python API開発のメリット)

Django REST Frameworkを使うと、Pythonで次のようなAPI開発ができます。

  • スマホアプリ用のAPIサーバー
  • ReactやVueなどのフロントエンドと連携
  • データベース連携API
  • ログイン機能付きAPI
  • CRUD API(データ登録・取得・更新・削除)

Pythonは世界中で使われているプログラミング言語であり、 Webサービス開発、AI開発、データ分析など幅広い分野で活用されています。

その中でもDjango REST FrameworkはPython API開発の定番ツールで、 多くの企業やWebサービスで利用されています。

まとめ

まとめ
まとめ

PythonのDjango REST FrameworkでAPI開発を学ぶ意味

ここまで、Pythonを使ったWeb API開発の基本として、Django REST Framework(DRF)の仕組みや使い方を初心者向けに解説してきました。 Django REST Frameworkは、PythonでREST APIを作成するためのフレームワークであり、Webサービス開発やスマホアプリ開発、フロントエンドフレームワークとの連携など、さまざまな場面で利用されています。

現在のWeb開発では、フロントエンドとバックエンドを分けた開発が主流になっています。ReactやVueなどのJavaScriptフレームワークで画面を作り、サーバー側ではAPIを提供する形のシステムが多くなっています。 そのときに重要になるのが、サーバーとアプリケーションをつなぐAPI(アプリケーションプログラミングインターフェース)です。

PythonのDjango REST Frameworkを使えば、複雑な処理を最初から作る必要がなく、便利な機能を使って安全で効率的なAPI開発ができます。

この記事で学んだDjango REST Frameworkの重要ポイント

今回の記事では、Python初心者でも理解できるように、Django REST Frameworkの基本構造を順番に学びました。 API開発では、いくつかの重要な仕組みが組み合わさって動いています。

  • Django REST FrameworkはPythonでAPIを作るためのフレームワーク
  • pipを使ってDjangoとDRFをインストールする
  • Modelでデータベースの構造を作る
  • SerializerでPythonのデータをJSONに変換する
  • ViewでAPIの処理を書く
  • URL設定でAPIにアクセスできるようにする

これらの仕組みを理解すると、Pythonでデータベース連携APIスマホアプリ向けAPIサーバー、さらにWebサービスのバックエンドAPIを作ることができるようになります。

Python API開発の基本的な流れを復習

Django REST FrameworkでAPIを作る基本的な流れは、次のようになります。

 pip install django pip install djangorestframework django-admin startproject myproject cd myproject python manage.py startapp api

まずはPythonの環境にDjangoとDjango REST Frameworkをインストールします。 その後、Djangoプロジェクトとアプリケーションを作成して、API開発の準備を行います。

次に、データベースの構造を定義するModelを作成します。

 from django.db import models class Book(models.Model): title = models.CharField(max_length=100) price = models.IntegerField() def __str__(self): return self.title

このようにModelを作ることで、Djangoが自動的にデータベーステーブルを作成してくれます。

次に、PythonのデータをJSON形式に変換するSerializerを作成します。

 from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['id', 'title', 'price']

Serializerを使うことで、APIが返すデータ形式を簡単に作ることができます。

最後に、APIの処理を書くViewを作成します。

 from rest_framework.decorators import api_view from rest_framework.response import Response @api_view(['GET']) def hello_api(request): data = { "message": "Hello Django REST Framework" } return Response(data)

このViewにアクセスすると、JSON形式のデータが返されるAPIになります。

さらにURL設定を行うことで、ブラウザやアプリからAPIにアクセスできるようになります。

 from django.urls import path from .views import hello_api urlpatterns = [ path('hello/', hello_api), ]

このように、Django REST FrameworkではModel、Serializer、View、URLという仕組みを組み合わせてAPIサーバーを構築していきます。

Django REST Frameworkを学ぶとできること

PythonのDjango REST Frameworkを理解すると、実際のWebサービス開発で多くのことができるようになります。

  • スマホアプリ用APIの開発
  • ReactやVueなどのフロントエンドと連携
  • データベース連携Web API
  • ログイン認証付きAPI
  • CRUD機能付きREST API

特に、PythonのDjango REST Frameworkは初心者から実務レベルまで幅広く使われるAPIフレームワークとして知られています。 Webサービス開発、業務システム、クラウドサービスなど、さまざまな分野で活用されています。

そのため、PythonでWeb開発を学ぶなら、DjangoだけでなくDjango REST Frameworkを理解することは非常に重要です。 API開発の仕組みを理解すると、フロントエンドとバックエンドを連携した本格的なWebアプリケーション開発ができるようになります。

先生と生徒の振り返り会話

生徒

「PythonでAPIを作る方法がだいぶイメージできました。Django REST Frameworkを使うと、API開発がかなり簡単になるんですね。」

先生

「その通りです。Django REST Frameworkは、PythonでREST APIを開発するときにとても便利なフレームワークです。Model、Serializer、View、URLという基本構造を理解すれば、APIサーバーを作れるようになります。」

生徒

「Modelはデータベースの設計で、SerializerはJSONに変換する仕組み、ViewはAPIの処理を書く場所でしたよね。」

先生

「よく覚えていますね。そしてURL設定をすると、外部のアプリやブラウザからAPIにアクセスできるようになります。これがWeb APIの基本です。」

生徒

「PythonでWebサービスを作るときには、このAPIが重要になるんですね。」

先生

「その通りです。最近のWeb開発では、APIを中心にシステムが作られることが多くなっています。Django REST Frameworkを使えるようになると、Pythonで本格的なWebサービス開発ができるようになります。」

生徒

「もっと勉強して、PythonでAPIサーバーを作れるようになりたいです。」

先生

「ぜひ挑戦してみてください。今回学んだDjango REST Frameworkの基本をもとに、CRUD APIや認証機能付きAPIなどを作っていくと、PythonのWeb開発スキルが大きく成長します。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
New2
PHP
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
New3
PHP
PHPのメール送信でSPF・DKIM認証設定を完全解説!初心者でもわかるメール認証の基本
New4
Python
PythonでAPIのパフォーマンスを向上させる方法!キャッシュ活用を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
PHP
PHPのHTMLメールの作成方法を完全ガイド!初心者でもわかるメール送信の基本
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
Python
Pythonの例外を発生させる方法を完全解説!raise文の使い方を初心者向けにやさしく説明
No.8
Java&Spring記事人気No8
Python
Pythonで2次元リストを作成・操作する方法(リストのリスト)