@c_bata_ さんの著書、『実践Django Pythonによる本格Webアプリケーション開発』をいただいたので紹介します。
本書の内容
Djangoの基本機能、モデルとクエリ操作、ビュー、テンプレート、フォーム、テスト、認証と認可、Django Rest FrameworkによるAPI開発を実際に動作するコードとともに説明をしています。
特に以下の点はおもしろいと思いました。
- テストコードを多く記述している
- テストコードを始めに書いて、テストをFailにしたあとで、テストコードがSuccessになるよう実装を進めている
- セキュリティの説明で、実際に問題発生するコードを説明してから、解決方法の説明をしている
- XSSやCSRF、SQLインジェクションなどの一般的な攻撃手法について、脆弱性を含むコードの説明がある
- クエリ数を削減するパフォーマンスチューニングの話がある
- SQLの実行計画の確認やインデックスについての説明がある
また、題材となっている「コードスニペット共有サイト」のアプリ開発で、サードパーティライブラリをうまく活用している点もよかったです。
Djangoのバージョンは、現時点では最新版となる 3.2系 に対応しているため、これからDjangoを使う人にとってもよいと思います。
対象読者
対象読者は本書の最初に書かれています。
Pythonの文法や使い方の説明は無いので、Pythonについては別途学習が必要です。
Webアプリケーションの基本的な仕組み(HTTPやHTML、CSS、通信の仕組みなど)の説明は省略されているので、別途学習するとよいと思います。
SQLの文法やデータベースの使い方の説明は省略されているので、別途学習するとよいと思います。
プログラミング初心者の方にはおすすめできません(想定してないと思います)
「Djangoを使って簡単なアプリを書いたことはあるけど、この次に何をしたらよいのかわからない」という人にはオススメです。
Django初級~中級ぐらいのレベル感だと思います。
その他
- 査読協力に載ってる方は見知った人たち
- aodagがDjangoの本を査読しているぞ!