【Django】Django REST Frameworkとは?まとめてみた
はじめに
先日Djangoに入門した初心者です。やっとDjangoが何か、何ができるのかを少しわかってきたつもりなのにさらにRESTとか出てきて、???って感じです。ということで、Django REST Frameworkとは何なのか、何ができるのか、Djangoと何が違うのか、をまとめていきます。
Django REST Framework(DRF)とは?
DjangoはPythonでWebアプリケーションを作るためのフレームワークであり、Webアプリケーションに必要なコンポーネントやAPIを多数提供している。しかし、REST APIバックエンドを構築するには、足りない機能がある。そこで、REST APIバックエンドを構築することに特化したDjangoパッケージであるDRFが登場した。
REST APIってなんだ???ってことでまずRESTの定義を。
REpresentational State Transfer(REST)の略で、分散ハイパーメディアシステムのための設計原則の1つである。
REST APIとは、RESTを適用したWeb APIのことである。URLですべてのリソースを一意に表し、サーバーセッションなどの状態を持たない(ステートレス)。HTTPメソッドでリソースへの操作を体系的に表し、同じURLに対する呼び出しには同じ結果が返される。
DRFには、例えば以下の機能がデフォルトで含まれている。
- 認証
- パーミッション(アクセス制御)
- フィルタリング(クエリ文字列での検索)
- ページネーション(ページ表示に対応したJSONレスポンス)
- スロットリング(利用回数制限)
DRFプロジェクトの構成
DRFプロジェクトの構成は、通常のDjangoプロジェクトの構成とは異なる部分がある。
- Model(データベースのテーブルに対応)
- Serializer(JSONデータとモデルの紐付け)
- View(APIに対応したレスポンス)
- URLconf(URLパターンの管理)
ModelとURLconfについては、通常のDjangoの場合とほぼ同じと考えて良い。ViewはDRF用の前処理なども行う。Serializerは、データを保持するためのもの。
まとめ
DRFは、RESTに則ったWebアプリケーションをつくるためにDjangoを補ったパッケージであり、拡張された機能のためにプロジェクトの構成も一部異なっている。
Author And Source
この問題について(【Django】Django REST Frameworkとは?まとめてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/milk_soyyy/items/e8f1faf477912e1af073著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .