Qiitaは非常に便利ですが、投稿通りのコードを書いても上手くいかないことがあります。
私は下記の記事を参考にコードを書いてみましたが、エラーが起こりました。
Pythonさえ分かればDjangoでWebアプリは作れる
https://qiita.com/Taro_man/items/19613663ef7bb3c57d4f
記事下部のように出来上がったサイトに接続しようとするとエラーが発生しました。
先に申し上げておきますが、記事はとても有用な内容でした。
初心者ならではの、立ち回りですが躓いた時の備忘録として投稿させていただきます。
まず結論
エラーはhtmlファイルを保存するフォルダ名称を変更することにより解消いたしました。
エラー : template
エラーが起きない: templates
ちなみに私の環境は以下の通りです。
Windows10 64bit バージョン2004
Python 3.8.6
Django 3.1.4
エラー = ミス とは考えていません。様々な要因があると思いますので、エラーとなった一例として捉えていただければと思います。
では私がやったこと
まず目を付けたのはココ!
【Exception Type: TemplateDoesNotExist】
内容としては「テンプレートが見つからないよ」ってことです。
①
./my_project/settings.pyのINSTALLED_APPSにアプリケーションの登録
調べると大多数がこのエラーです。けど記述は問題ありません。
②
./my_project/urls.pyの記述
公式チュートリアルにて、includeをインポートする記述を見逃しエラーとなったことがありました。
今回は問題ないようです。
③
./sample_app/urls.pyの記述
viewsのインポートの記述もあるし、受け取ったURLからviewsを呼び出す記述も問題なさそう。
さてはviewsの中身か?
④
./sample_app/views.pyの記述
受け取ったURLから関数を呼び出しreturnで返す。
う~ん、シンプル・・・。何故だ?分かんねー。
⑤
./sample_app/template/sample_app/post_list.htmlの記述
そもそもhtmlおかしいんじゃね?
→開くと普通に見える。
初心に帰ってファイル名は?
→間違ってない。
⑥
記事の環境と私の環境が違うのでは?
同じ環境でDjango Girlsのチュートリアルやってみる。
→問題なく動くじゃねーか。
⑦
Visual Studio Code(VS Code)のコードチェック!
flake8インストール、すげーエラー出るじゃねーか。
→pep8の書式チェックばかりでした。
※そもそも解決方法が大きくずれている・・・。
⑧
Django Girlsのチュートリアルと見比べてみる。
①~⑤を見比べるが問題なし。・・・でも違和感が。
Django Girlsのhtml保存先ってtemplatesになってない?
ここ!?こんなこと!?バージョンによって違うのかな。
・・・
・・
・
半信半疑で記事のフォルダ名を変更すると、動くやん。
以上
実際、エラー内容のどこを見ると一番効率よくトラブルシュートできたのか今でもわかりません。
得られたスキル
・Djangoの挙動についてコードを追いながら確認することにより、アプリケーションの仕組みがより理解できた。
・ネットの情報はほどほどに。
・意味を考えながらチュートリアルをやると、今まで理解できていなかった内容がなんとなく分かってくる。
そして、このトラブルが解決したときのスッキリ感!