ホームページ >バックエンド開発 >Python チュートリアル >Django フレームワークを使用して RESTful API を構築する

Django フレームワークを使用して RESTful API を構築する

PHPz
PHPzオリジナル
2023-09-28 21:01:501436ブラウズ

Django フレームワークを使用して RESTful API を構築する

Django フレームワークを使用して RESTful API を構築する

Web アプリケーションの継続的な開発に伴い、最新のアプリケーション コンポーネントにとってスケーラブルで柔軟な API を構築することが重要になってきました。人気のある開発フレームワークである Django フレームワークは、RESTful API を構築するための高速かつ信頼性の高い方法を提供します。この記事では、Django フレームワークを使用して RESTful API を構築する方法を紹介し、具体的なコード例を示します。

  1. Django プロジェクトとアプリケーションの作成
    まず、ローカル環境に Django プロジェクトを作成する必要があります。次のコマンドを使用して、「myproject」という名前のプロジェクトを作成します。
$ django-admin startproject myproject

プロジェクト ディレクトリに移動し、「api」という名前のアプリケーションを作成します。

$ cd myproject
$ python manage.py startapp api
  1. プロジェクトとアプリケーションの構成
    プロジェクトの settings.py ファイルで、「rest_framework」アプリケーションと「api」アプリケーションを INSTALLED_APPS リストに追加する必要があります。
INSTALLED_APPS = [
    ...
    'rest_framework',
    'api',
]

リクエスト パスを API アプリケーションに転送するように、プロジェクトの urls.py ファイルを構成する必要もあります。

from django.urls import include, path

urlpatterns = [
    ...
    path('api/', include('api.urls')),
]
  1. モデルとシリアライザーの作成
    アプリケーション API では、最初に API 内のリソースを表すモデル クラスを定義する必要があります。記事を例に挙げると、models.py ファイルに「Article」という名前のモデルを定義できます。
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

次に、api ディレクトリに Serializers.py という名前のファイルを作成し、「ArticleSerializer」という名前のシリアライザーを定義して、モデル インスタンスを JSON に変換する必要があります。

from rest_framework import serializers
from api.models import Article

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article
        fields = ['id', 'title', 'content', 'created_at']
  1. ビューの作成
    API ディレクトリに views.py という名前のファイルを作成し、GET リクエストと POST リクエストを処理するために ArticleList という名前のクラス ビューを追加します。
from rest_framework import generics
from api.models import Article
from api.serializers import ArticleSerializer

class ArticleList(generics.ListCreateAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

ArticleDetail というクラス ビューを作成して、1 つの記事に対する GET、PUT、および DELETE リクエストを処理することもできます。

from rest_framework import generics
from api.models import Article
from api.serializers import ArticleSerializer

class ArticleDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
  1. URL の構成
    API ディレクトリに urls.py という名前のファイルを作成し、次のコードを追加してパスを構成します。
from django.urls import path
from api import views

urlpatterns = [
    path('articles/', views.ArticleList.as_view(), name='article-list'),
    path('articles/<int:pk>/', views.ArticleDetail.as_view(), name='article-detail'),
]
  1. サービスの開始
    これで、開発サーバーを実行して API をテストできます。
$ python manage.py runserver
  1. API のテスト
    Postman やcurl などのツールを使用して、HTTP リクエストを送信して API をテストできます。一般的な API リクエストの例をいくつか示します。
  • すべての記事の取得 (GET リクエスト):

    GET http://localhost:8000/api/articles/
  • 単一の記事の取得 (GET リクエスト):

    GET http://localhost:8000/api/articles/1/
  • 新しい記事の作成 (POST リクエスト):

    POST http://localhost:8000/api/articles/
    Content-Type: application/json
    
    {
      "title": "Hello",
      "content": "This is a test article."
    }
  • 記事の更新 (PUT リクエスト):

    PUT http://localhost:8000/api/articles/1/
    Content-Type: application/json
    
    {
      "title": "Hello World",
      "content": "This is an updated test article."
    }
  • 削除記事 (DELETE リクエスト):

    DELETE http://localhost:8000/api/articles/1/

概要:
この記事では、Django フレームワークを使用して RESTful API を構築する方法を紹介しました。モデルとシリアライザーを作成し、ビューと URL 構成を定義することで、完全に機能する API を迅速に構築してテストできます。これは、最新の Web アプリケーションを構築し、スケーラブルなサービスを提供するための優れた基盤を提供します。 Django フレームワークを使用すると、リソースの取得、作成、更新、削除などの一般的な API ニーズを簡単に処理できます。

(ワード数: 1063)

以上がDjango フレームワークを使用して RESTful API を構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。