ジャスティンレストAPI
djangoとdjangoの残りのフレームワークは、適切に、ほとんどの複雑なWeb APIに関連するハンドル.
一度我々は今それがAPIを追加しようとして示すようにPythonのdjangoアプリケーションを作成している!
まずは、以下のコマンドを実行してコマンドラインからdjango - rest - frameをインストールします
まず最初に新しいAPIアプリを作成しましょう.
我々の端末から;
プロジェクトレベルではAPIアプリケーションを含んでいて、そのURLルートを設定する必要があります
我々は、ビューを作成する予定です.Django REST Frameworkの組み込みジェネリッククラスビューに依存するPyファイル.
我々の見解で.Pyファイルは、次のように更新されます
からのインポートジェネシス
本から.インポートブック
から.シリアルライタ
トップラインで我々は、ビューのDjangoレストフレームワークのジェネリッククラス、私たちの本アプリからモデル、およびAPIアプリからserializersをインポートします.(次の手順でシリアライズを作成します)
次に、ListapiViewを使用してすべてのブックインスタンスの読み取り専用のエンドポイントを作成するBookPapViewを作成します.
我々のserializersをつくってください
一言で言えば、レプリライザはデータをインターネット上で消費しやすい形式に変換します.通常はJSONで、APIエンドポイントで表示されます.
Django REST Frameworkを使用してSerializerを作成し、DjangoモデルをJSONに変換します.
シリアル化を行います.APIアプリケーション内のPYファイル.
コマンドラインから
Django - rest FrameworkのModelSerializerクラスをBookSerializerクラスに拡張します.このクラスでは、データベースモデルブックと、公開するデータベースフィールドを指定します.
私たちのAPIエンドポイントをチェックして、どのように我々のサーバーを起動して、我々のブラウザーでこのURLを走らせるかについて見ます
我々のAPIにアクセスするには、郵便配達人を使用するか不眠症を使用することができますし、我々は本を見て、私たちの本を追加または更新することができます.
一度我々は今それがAPIを追加しようとして示すようにPythonのdjangoアプリケーションを作成している!
まずは、以下のコマンドを実行してコマンドラインからdjango - rest - frameをインストールします
pipenv install djangorestframework~=3.11.0
次に、私たちの設定/設定でinstaldCountアプリの設定にRESTHONEフレームワークを追加します.Pyファイル.ローカルアプリやサードパーティからの混乱を避けるために、次のようにやってみたい.INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 3rd party
'rest_framework',
# Local
'books',
]
当社のAPIは、JSON形式のすべての書籍を一覧表示する単一のエンドポイントを公開します.新しいURLルート、新しいビュー、および新しいシリアライザーファイルが必要です.まず最初に新しいAPIアプリを作成しましょう.
我々の端末から;
python manage.py startapp api
と設定ファイルに追加できますINSTALLED_APPS = [
# Local
'books.apps.BooksConfig',
'api.apps.ApiConfig', # new
# 3rd party
'rest_framework',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
ので、マイグレーションファイルを作成し、データベースを更新するに移行する必要はありませんAPIアプリケーションは独自のデータベースモデルを持っていません.URL
プロジェクトレベルではAPIアプリケーションを含んでいて、そのURLルートを設定する必要があります
path('api/', include('api.urls')),
APIのアプリから、我々はURLを作成します.以下のCommNIDを実行してPyファイルを作成します.touch api/urls.py
我々のURLファイルには、以下があります# api/urls.py
from django.urls import path
from .views import BookAPIView
urlpatterns = [
path('', BookAPIView.as_view()),
]
すべてのAPIのURLファイルに設定され、ビューを作成するに進みます見解
我々は、ビューを作成する予定です.Django REST Frameworkの組み込みジェネリッククラスビューに依存するPyファイル.
我々の見解で.Pyファイルは、次のように更新されます
からのインポートジェネシス
本から.インポートブック
から.シリアルライタ
class BookAPIView(generics.ListAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
ビューコードの説明トップラインで我々は、ビューのDjangoレストフレームワークのジェネリッククラス、私たちの本アプリからモデル、およびAPIアプリからserializersをインポートします.(次の手順でシリアライズを作成します)
次に、ListapiViewを使用してすべてのブックインスタンスの読み取り専用のエンドポイントを作成するBookPapViewを作成します.
我々のserializersをつくってください
シリアライザー
一言で言えば、レプリライザはデータをインターネット上で消費しやすい形式に変換します.通常はJSONで、APIエンドポイントで表示されます.
Django REST Frameworkを使用してSerializerを作成し、DjangoモデルをJSONに変換します.
シリアル化を行います.APIアプリケーション内のPYファイル.
コマンドラインから
touch api/serializers.py
私たちのserializers.Pyファイルにこの内容があります# api/serializers.py
from rest_framework import serializers
from books.models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('title', 'subtitle', 'author', 'isbn')
我々は、Djangoレストフレームワークのserializersクラスと本モデルから我々の本アプリをインポートします.Django - rest FrameworkのModelSerializerクラスをBookSerializerクラスに拡張します.このクラスでは、データベースモデルブックと、公開するデータベースフィールドを指定します.
私たちのAPIエンドポイントをチェックして、どのように我々のサーバーを起動して、我々のブラウザーでこのURLを走らせるかについて見ます
http://127.0.0.1:8000/api/
ローカルサーバーがまだ最初のコマンドラインコンソールで実行しているので、http://127.0.0.1:8000/api/でWebブラウザのAPIエンドポイントに移動します.我々のAPIにアクセスするには、郵便配達人を使用するか不眠症を使用することができますし、我々は本を見て、私たちの本を追加または更新することができます.
Reference
この問題について(ジャスティンレストAPI), 我々は、より多くの情報をここで見つけました https://dev.to/kibetamos/python-django-rest-api-ca0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol