Django は、RESTful API を簡単に構築できる Web フレームワークです。 RESTful API は、HTTP プロトコルを通じてアクセスできる Web ベースのアーキテクチャです。この記事では、Django REST フレームワークを使用して開発プロセスを簡素化する方法を含め、Django を使用して RESTful API を構築する方法について説明します。
まず、Django をローカルにインストールする必要があります。 pip を使用して Django をインストールできます。具体的なコマンドは次のとおりです:
pip install Django
Django をインストールした後、次のコマンドを実行して Django プロジェクトを作成できます。次のコマンド:
django-admin startproject projectname
このうち、projectname
は作成したいプロジェクトの名前です。
Django プロジェクトはアプリケーションで構成されます。 RESTful API を構築するには、プロジェクト内にアプリケーションを作成する必要があります。次のコマンドを実行して、アプリケーションを作成できます。
python manage.py startapp appname
ここで、appname
は、作成するアプリケーションの名前です。
デフォルトでは、Django はデフォルトのデータベースとして SQLite を使用します。データベースを変更する場合は、プロジェクトの settings.py
ファイルで構成できます。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
Django では、モデルはデータを維持するために使用されるクラスです。 RESTful API に関連付けられたモデルを作成する必要があります。
from django.db import models class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True)
この例では、title
、content
、および created_at
Field を持つ Article
というモデルを作成します。
シリアライザーは、クライアントに配信するためにモデルを JSON 形式にシリアル化するために使用されます。このプロセスは、Django REST フレームワークによって提供されるシリアライザーを使用して簡素化できます。
from rest_framework import serializers from .models import Article class ArticleSerializer(serializers.ModelSerializer): class Meta: model = Article fields = ('id', 'title', 'content', 'created_at')
この例では、#、## の id## JSON 形式を含むように
Article モデルをシリアル化する
ArticleSerializer という名前のシリアライザーを作成します。 #title
、content
、および created_at
フィールド。
from rest_framework import generics from .models import Article from .serializers import ArticleSerializer class ArticleList(generics.ListCreateAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer class ArticleDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Article.objects.all() serializer_class = ArticleSerializer
この例では、ビュー クラス
ArticleList と ArticleDetail
を作成します。 ArticleList
クラスは GET
および POST
リクエストを処理し、ArticleDetail
クラスは GET
、PUT# を処理します。 ## リクエストと
DELETE リクエスト。どちらも
Article モデルと
ArticleSerializer シリアライザーを使用します。
URL の追加
from django.conf.urls import url from .views import ArticleList, ArticleDetail urlpatterns = [ url(r'^articles/$', ArticleList.as_view(), name='article-list'), url(r'^articles/(?P<pk>[0-9]+)/$', ArticleDetail.as_view(), name='article-detail'), ]
この例では、
ArticleList ビューと ArticleDetail ビューを URL
/articles/ と
/articles/< にマップしました。 ;pk>/。
は、
Article モデルの主キーです。
サーバーの実行
python manage.py runserver
http://127.0.0.1:8000/articles/
にアクセスして、Article モデルのすべてのインスタンスのリストを取得します。単一の
Article モデル インスタンスの詳細を取得するには、
http://127.0.0.1:8000/articles/ にアクセスしてください。
概要:
以上がDjango を使用した RESTful API の構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。