前提
利用したものとversion
- Django → Django 5.1.7
- Python → Python 3.10.12
- OS → Ubuntu-22.04(WSL)
- venv → (なくてもOKです!)
なお上のバージョンと一致しなくても、基本的に問題ありません。
入っていないものがある場合は以下よりインストールしてから進めましょう。
Djangoチュートリアルに取り組む前に絶対知ってほしいこと
すべき順番・参考教材があるということです
個人的には以下を強くお勧めします。
1. Pythonの基礎文法をしっかりと学習し、基礎的な内容であれば調べられたりコードリーディングできる状態にする段階
※個人的にここが一番大事。チュートリアル序盤でも以下のようにPython理解の推奨をされていますが、個人的にはもっと訴えてもよいと思い再掲です(笑)
具体的にどこまでやればいいのか?
-
Pythonの基礎文法がわかる
- 四則演算が書ける
- 条件分岐が書ける
- 繰り返しが書ける
- モジュール・パッケージの理解があり使える
-
関数宣言をし簡単なロジックが組める
-
クラスの作成ができる・インスタンス化できる・コンストラクトの挙動がわかる
-
データベース・SQLの基本的な知識がある
→ 後続で紹介するUdemy教材の「データベース操作」という章がこの場合はおすすめです
おすすめ教材
分量は多いですが、プログラミング初心者・未経験(コードを書いたことがないの意味)からでも入られる内容となっております。
[【2024年最新】世界で13万人が受講!初心者向けPython入門完全講座]
※初心者・未経験でもOKと言いましたが、最後まで理解して完走すればPythonの基礎力はかなり身に付きます。
2. なんとなくDjango・MVTモデルの雰囲気を掴む段階
以下のUdemyを学習する
[Django 入門講座【完全版】]
以下のYouTubeを代替にしてもいいかと思います:
[【初心者向け】Django超入門!]
3. ここでやっとチュートリアルをやる
[Django公式チュートリアル]
pythonを主に扱うVtuberとしてご活躍のサプーさんの動画です。
ここでDjangoチュートリアルに入れば、Pythonの文法理解が原因で詰まることはほとんどないと思います。
あとは存分にフレームワークの内容の理解に努められると思います。
補足:進め方に関して
理解力やセンスに自信のある方は「Pythonの基礎学習&Djangoチュートリアル」から入り、ドキュメントやAIを駆使しながら進めるのもアリかと思います。
djangoチュートリアルをやってみた個人的な感想
ここから先は個人的な記録として感想をダラダラと書いておりますので、
きなる方だけ見ていただけると幸いです。
良かったところ・学んだこと
-
MVTモデルの全体感把握がなんとなくでもいいからできてきた
→ やはり全体感を理解することは非常に大事だなと思いました
→ URLディスパッチャーでURLと処理の紐づけ、プロジェクトとアプリのURLconfigの紐づけなど -
クラスベースドビューは中身よくわからんけどすごい
→ よくある用途を抽象化してすぐ簡単に使えるようにしてくれた先人方に感謝様様です…🙇
悪かったところ
- ホスティング・デプロイ等の外部へ公開するための内容はまだやっておらず、個人的に必須で今後学ぶべきだと感じた
- まだまだ多くある便利なパッケージやモジュールを知らないがゆえに適切に開発を進められるか不明
→ 都度用途に合ったものがあるか検索またはAI様に聞いて、車輪の再発明的な行為は一旦は避けたい(フレームワークに慣れるために) - 結局作りたいものを実現するための設計が個人的にクソ弱い
→ 実際にアプリケーションを作る中でDB設計の練習をすべき
→ 要件定義も何となく進める前に固められる部分はしっかりと整理する、自分が困らないように...
難しかったこと
- いろんな設定周りカスタマイズをするにあたって、何をどういじればいいかで詰まってしまう
- 例えば静的ファイルの配置やテンプレート(HTMLファイル)でどう反映させるか等の設定において、独特の記法やconfigファイルをいじる必要がありますが、そこの配置にする理由などのところは深く理解しておらず、雰囲気になってしまっている。
- カスタマイズできすぎてわけわからなくなる
- Djangoに限らず多くのフレームワークでは管理者画面があり、そこでモデルや今実際にDBにどんなデータがあるか確認できますが、
その表示形式や項目まで柔軟に変更でき、開発者の好みに合わせた設定ができます
- Djangoに限らず多くのフレームワークでは管理者画面があり、そこでモデルや今実際にDBにどんなデータがあるか確認できますが、
ですが個人的にここはまだうまく使いこなせておらず難しいなと感じいました
最初のうちは風呂敷を広げ過ぎず、必要になったら調べる&ちょっとずつ興味的な探索をする、という方針でDjangoに慣れていこうと思いました。
- asgi・wsgiが意味わからん
- よくわからな過ぎて一旦飛ばしてしまいました...用復習...