Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

Django REST Frameworkを簡単に解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210924101936p:plain

おはようございます。Shotaです。

Djangoを勉強している方の中で、

🤨「Djangoをやっと理解できたけど、いったいどのようなことができるのかわからない....」

😟「そもそもDjango REST Frameworkって何ですか?」

このように考えている人も少なくないでしょう。

そこで、今回の記事ではDjango REST Frameworkについて詳細に解説していきます。



Django REST Frameworkとは?

f:id:ShotaNukumizu_1000:20211129061822p:plain

DjangoPythonでWEBアプリを開発するためのフレームワークで、WEBアプリを開発するために必要なライブラリやAPIを数多く提供しています。

Django REST Frameworkは、Djangoを利用した「RESTful」なAPIを実装できるライブラリです。DRFと省略して呼ばれることもあります。

REST APIって何?」と思う方もいると思いますので、ここで「REST API」について詳しく説明していきます。


REST APIとは?

RESTとはREpresentational State Transferの略です。「レスト」と呼びます。これは、システム設計の考え方のことを意味しています。WEB上の画像やファイルへアクセスする際の基本的な考え方が提示されており、以下のような考え方を指しています。


  • HTTPで、WEBのリソースへアクセスできること

  • HTTPメソッドを適切に利用すること

  • WEBのリソースは固有のリソースを持っていること


このような考え方に則って設計されたAPIを「REST API」と呼んでいます。REST APIを実装すれば、複数のアプリケーション間におけるデータのやり取りを簡単に行うことができます。

例えば、Djangoではフロントエンド開発に使われるJavaScriptフレームワーク「Vue.js」に対して、Djangoからデータを渡すことができるようになります。

REST APIは複数のフレームワークと連携できるので、充実したWEBアプリを構築するのに役立ちます。

Django REST Frameworkはこのような考え方に則って設計されています。Django REST Framworkは適切なHTTPメソッドを利用し、WEB上の固有のURIへアクセスできます。


Django REST Frameworkの機能

Django REST Frameworkでは以下の機能がデフォルトで備わっています。


  • 認証(Googleログイン等のソーシャルメディア等のアカウントを経由したログイン認証に利用できる)

  • WEBサイトのアクセスの制御

  • WEBサイトの利用回数の制限



Django REST Frameworkプロジェクトの構成

Django REST Frameworkのプロジェクトは、通常のDjangoのプロジェクトとは多少異なる部分があります。(Django REST FrameworkはDjangoを拡張した機能のため)


  • Model(データベースのテーブルに対応):通常のDjangoの場合と同じ

  • Serializer(JSONデータとモデルの連携):データを保存するため

  • View(APIに対応したレスポンス):通常のDjangoの場合と同じだが、前処理も行う

  • URLconf(URLパターンの管理):通常のDjangoの場合と同じ



まとめ

今回の記事では、Django REST Frameworkについて詳細に解説しました。

今回の記事を参考に、Django REST Frameworkについてより理解を深めていただければ幸いです。

今回の記事はこれで終了です。

【参考記事】

qiita.com

udemy.benesse.co.jp

tech-parrot.com