ジャンゴレストフレームワークチュートリアルの ゲット/ポストを アピビューで扱う
前回の復習
前回の記事で シンクペット/ビューパイで
@csrf_exempt
で JSONレスポンスを通して ゲットと ポストを実装したアピビューで ゲット/ポストを確認
https://www.django-rest-framework.org/tutorial/2-requests-and-responses/#wrapping-api-views
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
ステータスコードの 200 ~ 500を使うために ステータス@api_view
を使うために 視界反応として返すために 反応
これらをインポート
@api_view(['GET', 'POST'])
def snippet_list(request):
@api_view
で ゲット・ポストを受けることを SnippetCountリストの上に記載AssertionError at /snippets/
@api_view missing list of allowed HTTP methods
@api_view
のみだと、HTTPメソッドの許可がないエラーになる.ゲット
SnippetCountリストの中にかく
if request.method == 'GET':
snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True)
return Response(serializer.data)
ゲットは前回と大きくは変わらない.応答を 反応に変更して 安全= falseがなくなったくらい.
ポスト
elif request.method == 'POST':
serializer = SnippetSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
ポストは大きく変わった.JSONパーサーを使わず、リクエスト.データから直接シリアライズし
応答を使えわず、反応で
status.HTTP_201_CREATED
や status.HTTP_400_BAD_REQUEST
をステータスとして返すようにするブラウザで フレームワークの APIビューを試す
上記のメソッドをちゃんと記載していれば
APIビューを使って、フレームワークの UIで綺麗にレスポンスが見れる.
POST /snippets/
HTTP 201 Created
Allow: OPTIONS, POST, GET
Content-Type: application/json
Vary: Accept
{
"id": 8,
"title": "from REST API VIEW",
"code": "print(\"updated\")",
"linenos": false,
"language": "python",
"style": "friendly"
}
郵便配達人と同じように ポストも JSONデータを送れる.まとめ
@api_view(['GET', 'POST'])
と定義して関数を書くとブラウザで ジャンゴレストフレームワークの APIビューの形で
ゲット・ポストを扱える.
Reference
この問題について(ジャンゴレストフレームワークチュートリアルの ゲット/ポストを アピビューで扱う), 我々は、より多くの情報をここで見つけました https://dev.to/kaede_io/django-rest-framework-tutorial-7-snippetlist-wo-apiview-dejian-ru-42odテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol