- Django REST frameworkの概要
- DRFとは?
- そもそもREST APIとは?
- DRFの登場人物と全体像
- まとめ
- モデル
- 概要
- 書き方
- 「1対1」「多対1」「多対多」リレーションの定義
- モデルオブジェクトの取得方法
- モデルオブジェクトの登録・更新・削除方法
- マイグレーション
- まとめ
- シリアライザ
- 概要
- 書き方
- 入力データと(モデル)オブジェクトの相互変換
- 入力データのバリデーション
- まとめ
- ビュー
- 概要
- 書き方
- ハンドラメソッドやアクションメソッドの前処理および後処理
- 共通設定および個別APIの拡張設定
- まとめ
- URLconf
- 概要
- 書き方
- APIのバージョニングについて
- ルートURLconfの分割について
- まとめ
- DRFとセキュリティ
- 前提知識(Ajax・Cookie・同一オリジンポリシー・CORS)
- CSRF対策の必要性
- その他のセキュリティ対策
- まとめ
- DRFと認証
- DRFがサポートする認証方式
- どの認証方式を使うべきか
- Cookie認証の設定例
- トークン認証の設定例
- JWT認証の設定例
- 認証用トークンの格納先としてCookie・localStorage・sessionStorageのどれを使うべきか
- まとめ
- ユニットテスト
- 概要
- 書き方
- サンプルコード
- ユニットテストの実行方法
- まとめ
- チュートリアルその1:DRF+CDN版Vue.jsでCookie認証付きSPAをスピード構築
- 完成イメージ
- APIバックエンドの構築(by DRF)
- SPAフロントエンドの構築(by CDN版Vue.js + Djangoテンプレート)
- 動作検証
- まとめ
- チュートリアルその2:DRF + Vue CLI3でJWT認証付きSPAを本格構築
- 完成イメージ
- APIバックエンドの構築(by DRF)
- SPAフロントエンドの構築(by Vue CLI3)
- 動作検証
- まとめ
- 現場で使えるTips集
- Browsable APIを利用したい
- APIドキュメントを生成したい
- Routerのエンドポイントを必要なものだけに限定したい
- クエリ文字列でフィルタリング(条件検索)したい
- ページネーションに対応したレスポンスを返したい
- モデルにはない出力用フィールドを追加したい
- 関連先のモデルまで含めた情報を取得したい
- 関連先のモデルまで含めた情報を登録したい
- トランザクション制御をしたい
- 排他制御をしたい
- ネストしたURLで関連先のモデルを扱いたい
- RESTで表現できないカスタムアクションを追加したい
- 日時・日付・時刻フィールドのフォーマットを変更したい
- まとめ