親です。

子ども産まれたんで育児とかについて書きます。映画とか心理学とかITとかの趣味についても書きます。

【Python】Django始めて一ヶ月でできること、参考資料紹介

おつです。
Djangoを始めて一ヶ月経ちました。
「独学一ヶ月、この勉強法でこのレベルまでできた!」みたいなのがあると初学者は嬉しいだろうと思うので、そういう記事を書きます。

前提

前提として、Django学習開始時の俺のステータス(?)を示しておきます。

  1. 大卒 文系
  2. 育児休暇とってて0歳育児中
  3. SE経験 2年半 (SIer 汎用機系)
  4. web系のスキルはほぼなし
  5. メイン言語は古代言語のCOBOL
  6. HTML, CSSは独学で身につかなかった経験あり
  7. Python歴3ヶ月(独学)
  8. 毎日3時間くらい勉強できる
  9. Python学習サービスのPyQに加入してる
  10. 使用PCはMacBook Pro

できるようになったこと

こういうページが作れるようになった。
f:id:MaximoNelson49:20180617213316p:plainf:id:MaximoNelson49:20180617213322p:plainf:id:MaximoNelson49:20180617213327p:plain
f:id:MaximoNelson49:20180617213426p:plain
フォームから文字列を登録して、登録したものを一覧表示させてるだけ。一応編集もできる。CSS反映させたらそれらしく見えるかも。

勉強の進め方

  1. PyQでDjangoの初級講座を写経
  2. Django勉強記事を書く
  3. ゾンビでもわかるPythonプログラミング
  4. 公式ドキュメントのチュートリアル
  5. 現場で使える 基礎 Django』を読みつつ、
  6. オリジナルのサイトを作る
  7. 分からないところはPyQに戻って確認したり、演習をやり直したり。マジで分からんときはteratail起票した。
  8. 学んだ内容はブログ記事に反映させる

独学する上で気をつけたのは2つの要素。Django全体を構造として捉えることと、それぞれの要素について学習のモチベーションを高めることだ。
もう少し柔らかい表現すると、まずDjangoでwebサイトを作るのにどんな要素が必要か把握すること。んで、それぞれ細かい要素について、それを学習する必要性を感じること。
なのでまず写経とかチュートリアルで全体像掴んで、必要な要素ごとにブログの記事を作った。
んで、オリジナルのサイトを作りながらどうやって書くんだろ? と疑問点を洗い出し、再演習、学んだら記事の更新って感じで身につけてる。

参考資料・サイトについて

PyQ

PyQ - 本気でプログラミングを学びたい人のPythonオンライン学習サービス
ProgateをPythonに特化させたようなサイト。Djangoを扱ってる演習があるので、それをやった。
環境の構築をしなくてよいのでまずはここでDjangoに慣れるとモチベーションが上がると思う。

ゾンビでもわかるPythonプログラミング

[Python] Django 入門 - ゾンビでもわかるPythonプログラミング
この記事。次にあげるチュートリアルの内容を手短にまとめてくれてる。1日でなんとなくDjangoのノリが分かるのでおすすめ。

公式ドキュメントのチュートリアル

さぁ始めましょう | Django documentation | Django
これはパート4くらいまでやった。どうプロジェクトを始めるのかとか、開発の流れがわかる。

現場で使える 基礎 Django

現場で使える 基礎 Django
これはいい本でして…。
現場で使える、とある通りチュートリアルではこうしてるけど、実際はこうした方が良いだとか、そういうことが書いてある。初学者から中級者向けを意識されてて、座学前提なのでさらーっと読むだけでも面白く思えると思う。著者のブログもおすすめ。
同人誌なので冊数に限りがあり、重版かかるまで多少待つかも。けど6月に重版なったばかりなので今ならすぐ届くのかな?

HTML, CSSについて

これ俺はできなかったので、ProgateのHTML, CSSコースを一周した。中級はちょっと難しかったので、今後も何周か振り返りをやる予定。

Djangoのバージョンについて

Djangoは昨年の暮れにメジャーバージョンアップをして2.0になっている。また、Django1.11がLTSバージョン(長期にメンテされるバージョン)のため、実際の開発現場では1.11が採用されることが多いようだ。
PyQも多分1.11だしDjango本も1.11でやってる。
ただ俺は2.0で開発した。というのも多分勉強してるうちに2.0がいい感じになるだろって思ったのと、下記の記事によるとそんなに1.11と2.0変わりないみたいだったから。これは大きい違いだなあって俺が思ったのはurls.pyでurlを指定する際、簡単にurlを指定できるpath関数が追加になってることくらいか。
Django本の作者さんのブログだ)
Django 1.11 と 2.0 の違い (「現場で使える 基礎 Django」本の補講その1) - akiyoko blog

俺の書いたDjango関連記事まとめ

こんなかんじでまとめた。まとめ記事を書くことで理解が深まるのでこういうアウトプットはやっとくと良い。
【Python】Djangoわけ分かんねえからまとめる - 親です。
あと、まとめ記事には俺がつまずいたところについてメモ書きがあるので、気になったら読んでみて下さい。

その他おすすめの導入

DjangoGirlsTutorialなるものがあり、初心者にはこれがイチバン!!って意見をよく読む。デプロイまで抑えてくれているそうなので、こっちを最初にやったほうがいいかもしれない。
インターネットはどうやって動いているの? · workshop_tutorialJP


以上。随時更新する。