過去より未来に近い今

30オーバーでも始めるには今より遅いことはない。育児と技術両方諦めないようにアウトプット。

Django Girls Tutorialでハマったこと

厳密に言うとハマった、というより詰まった&Tutorial以外で調べて理解ができたことがあった、という内容だが、メモ。

TL; DR(要約)

Djangoをやってみようと思い、界隈でとりあえずこれやっておけ、という「Django Girls Tutorial」をやってみた。 内容についてはDjango Girls Tutorialそのものを確認いただくとして、やり終えてみて確かに初心者向けで、わかりやすくとっつきやすい内容だったので、オススメ。 Tutorialに従って進めていけばよいし、途中不明点が出たらググれば大抵解決する。 個人的に途中でハマったことを振り返りつつ、残しておこうと思う。

  • Herokuにdeployする際にコケた
  • MVCとMTV

Herokuにdeployする際にコケた

内容に沿って実施していたのだが、

Push failed

と出て、うまくdeployできていない。 エラーメッセージを元にググったところ、以下の記事に遭遇し、解決。

qiita.com

私の場合は、どうやら自分のローカルのPythonの環境とDjango Girls TutorialのPythonのバージョンが違っていたことが原因だった。

Qiita記事に従って以下の通り対応。

②のpsycopg2のアップデート後にrequirements.txtへ以下の通り追記

f:id:gohh56:20180821002356p:plain

MVCとMTV

中途半端にMVCモデルを知っていただけにDjangoのviewの説明や具体的な記述内容に困惑したが、そもそもMVCでいうviewとDjangoのviewは異なるものであった。

Djangoの場合、MTVモデル、ということらしい。 以下参考にさせていただいた。

ちょっと真面目にPython&Django・基礎編

  • view=template
  • contoroller = view →これで分かりづらかったんだな、なるほど。
  • model=model

それぞれについて補足。

  • template=表示内容。base.html書いておくと共通部分は即時反映され、変更部分だけblockで書くと簡単に整合性が取れる。
  • view=アクセス受けたらどうするとか、具体的な動きを書く。どのtemplateで表示するかとか、削除するかとか、redirectとか。

上記内容でスッキリした。

Webフレームワーク初心者でもそれほど躓かずカタチになるTutorial

deploy失敗はバージョン確認が不十分だったのが原因だし、MTVモデルの理解は混乱しただけで実際には躓いて手が止まったわけではないので、振り返るとハマった、わけではなかった、のかもしれない。

そう思うと繰り返しになるが初心者向けTutorialというのは聞いていたとおりなのだと思う。

蛇足

  • importの説明がわかりやすかった。

    fromとかimportで始まる行は全部他のファイルから何かをちょこっとずつ追加する行です。なので色んなファイルから必要な部分をコピペする代わりにfrom ... import ...で必要部分を入れられるんです。