素晴らしい Web ブラウズ可能な Web API。
プロジェクトの完全なドキュメントは https://www.django-rest-framework.org/ で入手できます。
REST フレームワークは、共同で資金提供されたプロジェクトです。 REST フレームワークを商業的に使用する場合は、有料プランにサインアップして継続的な開発に投資することを強くお勧めします。
当初の目的は、REST フレームワークに関する単一のフルタイムのポジションを提供することです。サインアップひとつひとつが、それを可能にするために大きな影響を与えます。
素晴らしいスポンサーの皆様、特にプレミアムバッカーである Sentry、Stream、Spacinov、Retool、bit.io、PostHog、CryptAPI、FEZTO、Svix、Zuplo の皆様に心より感謝申し上げます。
Django REST フレームワークは、Web API を構築するための強力で柔軟なツールキットです。
REST フレームワークを使用する理由としては、次のようなものがあります。
以下:閲覧可能な API のスクリーンショット
各 Python および Django シリーズの最新パッチ リリースを強く推奨し、公式にのみサポートします。
pip
使用してインストール...
pip install djangorestframework
INSTALLED_APPS
設定に'rest_framework'
追加します。
INSTALLED_APPS = [
...
'rest_framework' ,
]
REST フレームワークを使用して、ユーザーとグループにアクセスするための単純なモデルベースの API を構築する簡単な例を見てみましょう。
このように新しいプロジェクトを起動します...
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
次に、プロジェクト内のexample/urls.py
モジュールを編集します。
from django . contrib . auth . models import User
from django . urls import include , path
from rest_framework import routers , serializers , viewsets
# Serializers define the API representation.
class UserSerializer ( serializers . HyperlinkedModelSerializer ):
class Meta :
model = User
fields = [ 'url' , 'username' , 'email' , 'is_staff' ]
# ViewSets define the view behavior.
class UserViewSet ( viewsets . ModelViewSet ):
queryset = User . objects . all ()
serializer_class = UserSerializer
# Routers provide a way of automatically determining the URL conf.
router = routers . DefaultRouter ()
router . register ( r'users' , UserViewSet )
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path ( '' , include ( router . urls )),
path ( 'api-auth/' , include ( 'rest_framework.urls' , namespace = 'rest_framework' )),
]
また、API 用にいくつかの設定を構成したいと思います。
以下をsettings.py
モジュールに追加します。
INSTALLED_APPS = [
... # Make sure to include the default installed apps here.
'rest_framework' ,
]
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES' : [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ,
]
}
以上です。完了です。
./manage.py runserver
これで、ブラウザでhttp://127.0.0.1:8000/
にある API を開いて、新しい「ユーザー」API を表示できるようになります。右上隅にあるLogin
コントロールを使用すると、システムにユーザーを追加、作成、削除することもできます。
また、 curl
などのコマンド ライン ツールを使用して API を操作することもできます。たとえば、ユーザーのエンドポイントを一覧表示するには、次のようにします。
$ curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
[
{
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin",
"email": "[email protected]",
"is_staff": true,
}
]
または、新しいユーザーを作成するには:
$ curl -X POST -d username=new -d [email protected] -d is_staff=false -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"url": "http://127.0.0.1:8000/users/2/",
"username": "new",
"email": "[email protected]",
"is_staff": false,
}
プロジェクトの完全なドキュメントは https://www.django-rest-framework.org/ で入手できます。
質問やサポートについては、REST フレームワーク ディスカッション グループ、または libera.chat IRC の#restframework
を使用してください。
セキュリティポリシーをご覧ください。