「現場で使える 基礎Django」を読みました #技術書典

最近Djangoを使う人も増えてきているようで、自分がさわり始めた頃に比べれば、分からないことことでも探せば出てくるようになりました。

とはいえ、Djangoの全体像をさらっとながめられるようなものがあまりなく、自分のDjango自体の理解が正しいのか悩んでいます。そのため、Djangoの公式ドキュメントとは異なった視点のものがほしいなと思っていました。

 
そんな中、先日の技術書典4にて「現場で使える 基礎Django」が頒布されると聞いたため、入手して読んでみました*1

Django自体の解説書がほしかった自分にとっては、本書はニーズに合った本であり、とても満足できました。

以下、簡単に感想やメモを残しておきます。

 
ちなみに、今はBoothでも販売されているようです。
現場で使える 基礎 Django【紙の本】※部数限定 - あきよこブログ(akiyoko - BOOTH(同人誌通販・ダウンロード)

 

本の対象読者と自分

本書のp7を引用すると、対象読者は

  • Pythonの文法はある程度分かるけどDjangoは初めてという初心者の方
  • Djangoを始めてみたけれど今いちコツが掴めないという初級者の方
  • Djangoのベストプラクティスを学びたいと考えている中級者の方

とのことです。

ちなみに、自分の経験は

です。

 

感想

本書では、Djangoの基礎的なところからちょっと深いところまで、アプリを作る上で必要そうな範囲がまとめられていました。

書籍全体を通して図を使って解説されていました。特に、

をはじめとした、「Django公式ドキュメントには書いてあるけれど、図がほとんどないのでイメージがわかない」ものに対して処理フローが書かれていました。

そのため、あまり気にせず使っていたり、処理フローがぼんやりしている分野について、理解を深められました。

 
例えば、昔、バリデーションの処理フローを調べたことがありました。
Djangoで、CreateViewでPOST後に動作する、ModelFormやModelのバリデーションを試した - メモ的な思考的な

Blogではフローを図に書き起こしていなかったため、あとから読み返すと理解しづらいなと感じていました。

そんな中、本書にバリデーションフローの図が掲載されていたため、「ほしかったのはこれだ」となりました。

 
また、自分の理解が浅かった

  • モデルマネージャーとその役割
  • INSTALL_APPSの書き方
  • ロギングの設定

なども学べて良かったです。

 
その他、良いと感じたところは、

  • 理由とともにベストプラクティスが掲載されており、他の人の考え方を学べたこと
  • 本に従ったサンプル実装が著者のGitHubで公開されていたため、実際のアプリではどんな感じで実装しているか見られたこと
  • 全体を通して、クラスベースビューを使っていたこと *3

です。

 
執筆後記にも書かれている通り、本書に掲載されていないことはまだまだあります。ただ、検索するためのキーワードは本文中に散りばめられているため、あとから調べる時に役に立ちそうです。

 
一方、注意すべきことは、この本はチュートリアルではないということです。

そのため、自分のように「まずは何か書いてみて概要をつかみ、後で公式ドキュメントを読んで理解する」タイプの人は、本書を読む前に、Djangoの公式チュートリアルDjango入門を行っておくと、理解が深まるのかなと感じました。

 
これからもDjangoをさわる機会はあるかと思います*4。ただ、日々Djangoにさわっていないと忘れてしまう内容もあるため、Djangoアプリを作るときには手元に置いて参考にしたいと思います。

id:akiyoko さん、良い本をありがとうございました。

*1:技術書典4自体の参加記録:http://thinkami.hatenablog.com/entry/2018/04/24/224740

*2:Django入門の著者である同僚も、この本を購入していました

*3:自分は関数ベースビューがよく分からないので...

*4:仕事で使えると最高ですね!