個人開発プロダクトのためにDjangoを勉強したのでやったことを書いてみる

現在Djangoを使って「かべうちフレンズ」という個人開発プロダクトを作っているのですが、今回はそのために勉強したことについてまとめてみます。これからDjangoの勉強をしようと思ってる方のお役に立てれば幸いです。

ちなみに、Djangoをネットで調べると1.xと2.xの2種類のバージョンが出てくると思います。混乱しますよね。私はしました。先日安定版の2.2が出ましたが、個人開発でこれから勉強するという方はそっちを中心に勉強すれば良いと思います。と言い切りたいところなのですが、私が試した範囲では2.2ではまだDB関連のライブラリが2.2に対応してなくて環境構築がうまくできなかったので、途中で詰まっちゃった場合は2.1.xを使って勉強するのが良いのでは、と思います。多分それでも後から2.2.xに移行できると思うので。。
逆に職業がWebエンジニアの方で、現場では1.xを使っている、1.xのプロダクトが現役で動いている、という方はそっちから入って、慣れてから2.xとの差分について調べた方が良いかもしれません。

あと、Python環境も2.xと3.xの情報が入り乱れてて混乱するかもしれません。
これから勉強する方は3.xを選びましょう。2.xは近々サポートが切れるので、これから勉強するのには向きません。最近の書籍でも3.xで書かれている場合がほとんどだと思います。「どうしても2.xを使う必要がある!」という場合もあるかもしれませんが、そういう方は頑張ってググってください。
あとPythonの仮想環境で調べていくとpipenvとかvenvとかpyenvとかvirtualenvとかcondaとかpyenv-virtualenvとかいきなりいろいろ出てきて心が折れるかもしれません。
折れるくらいなら、何か一冊図書館とかでPythonの本を借りてきてその通りにやってみましょう。とにかくPython3が動けばいいんです。動かすだけなら仮想環境だって必要ない場合が多いです。
ちなみに私はpyenv-virtualenvを使っています。調べていくと古いやり方っぽいですが、気にしていません。私のサーバー上ではきちんと動いているので。

では、前置きが長くなりましたが勉強に使った教材をご紹介。

  • Djangoチュートリアル
    • やはり公式から始めるのが一番良いと思います。これだけで全てを網羅できるわけではありませんが、わかりやすくて全体を浅く広く網羅できてて良かったです。今でもたまにこのときに書いたコードを見直してみたりしています。
    • チュートリアルを終えた後もリンクを辿っていくと詳細な説明が書かれているページに辿り着きますが、英語と日本語が混じり合っている上に内容も難しいです。簡単なアプリを作る上ではここは読まなくても、困ったときに都度必要なところをググっていけば大丈夫だと思ったので、私は飛ばしました。きちんと全部読んだ方おられましたら内容教えてください。お願いします。
  • Django Girls
    • こちらにもチュートリアルがあります。ちょっとわかりづらいですが、左メニューの中ほどのところです。難易度的には公式とそんなに変わりませんが、ちょっと違う書き方をしている部分もあったりして両方やったらけっこう勉強になると思います。
  • 現場で使えるDjangoの教科書
    • 基礎編と実践編があります。私は両方Kindle版を買って読みました。
    • 上の2つをやっていると理解が早いと思います。でももしかしたらこれだけでも良かったかも。必要なところのほとんどをカバーしてくれている良書です。Let's EncryptによるSSL化やメール送信機能についても触れてくれる等、個人開発者に優しい作りになっています。

そっとアフィリエイトリンクを貼ってみたり。

私が勉強したのは上記だけです。後は必要に応じてstackoverflowやQiita、teratail等に投稿されている内容を調べたりはしましたが、基本的には上記の教材の内容でまかなえる感じでした。

といっても、私の場合はSeekGeeks等の個人開発でBottleというフレームワークを使って個人開発をしていた経験があったというのも理解に役立っていたのかもしれません。
Python自体初めて、Web開発が初めて、という方の場合はまた少し違うのかも。
それでも上記の教材は間違いなくDjango学習の力になってくれると思います。

このエントリがきっかけで、一人でもDjango仲間が増えると嬉しいです。
私もまだまだ勉強中の身なので、お互い頑張りましょう!