
こんにちは!実務でPython、Djangoを使って、機械学習やWebアプリケーションの開発をしているかるでねです!
今回の記事ではDjango初学者に超おすすめな「現場で使えるDjangoの教科書《基礎編》」という本を紹介していきます。
章ごとにどんなことが書かれているのかざっくり紹介して、簡単に僕が読んだ感想も述べていきます。
「Djangoを学びたいけどおすすめの本ないかな?」
「この本、気になっていたけど実際のところ役に立つのかな...」
このような方のお役に立てれば幸いです。
DjangoとはPythonのフレームワークです。
なので、まずはPythonを学んでからDjangoを学ぶことをお勧めします。
この記事では本の目次に沿って紹介していきます。
1章:Djangoとは?
この章ではDjangoについて簡単に説明してくれています。
2章:アーキテクチャ
この章ではDjango全体の構成要素について説明してくれています。
「アーキテクチャ」=「構造」
何を学ぶにしても、まずは全体像を把握することは大切です。
全体像を把握することで、「今自分が何をしているのか」、「今していることが他の構成要素とどのように関わってくるのか」ということがわかるようになります。
ぜひ今後も何かを学ぶときは全体像の把握からしてみてください。
3章:プロジェクト構成
この章ではより詳しくDjangoのプロジェクト構成を説明してくれています。
Djangoのプロジェクト構成は少し複雑なので、一度ここで把握しておくことをお勧めします。
4章:URLディスパッチャとURLconf
いきなり専門的な用語が出てきましたが一言で言えば、
「URLについてのこと」
です。
Webアプリケーションは表示するページごとにURLがあるので、そのURLをどのように定義するのかをわかりやすく簡潔に説明してくれています。
ここがしっかり定義できていないと、うまくページが繋げられなくなってしまうので結構重要な部分です。
5章:ビュー(View)
「ビュー...ってなに?」と思った方は正常な反応です。
これだけではなんのことかさっぱりですよね。
ここでは主に以下のようなことをします。
・リクエスト(要望)を受け取って、それに対するレスポンス(返答)を返す。
・エラーを通知してくれる。
・ページとページの繋ぎ合わせ。
根幹と言っても良いくらいさまざまなことをしてくれます。
「View」では複数の書き方があり、この章ではそれについても触れてくれています。
他にもDjangoにおいての「ログイン・ログアウト」についてもわかりやすく説明してくれていています。
6章:モデル(Model)
「Model」とは一言で言うと、「データベース」のことです。
つまりここでは、Djangoアプリケーション内で使用するデータを定義するところです。
「Model」にはデータ同士の関係性(リレーション)が複雑に絡み合ってくるので、それについても丁寧に説明してくれています。
Django内ではユーザー情報を登録する「ユーザーモデル」を1から定義するのが最初の頃は本当に大変です。
その上さまざまな定義方法があるので、どれを採用して良いかもわからなくなるはずです。
この章ではそんな複雑な「ユーザーモデル」についても説明してくれています。
そしてデータは定義するだけでなく、「登録」、「取得」、「更新」、「削除」ができるので、そのためのコマンドをいくつも紹介してくれています。
この部分は前章の「View」にも関係してくるのでしっかり目を通しておくことをお勧めします。(後々何度も見ることになります。)
7章:テンプレート(Template)
「Template」とは「HTML」のことです。
Webアプリケーションにはユーザーが操作する画面が必要です。
その画面をDjangoでどのように作成するかを説明してくれています。
基本的にはHTML、CSSの構文に沿っていますが、下記のようなPython側で定義したものを使用できるので、その方法も説明してくれています。
・変数
・for文
・if文
また、他のHTMLファイルを別のHTMLファイルで読み込んで表示することもできます。
この方法を使うことで、特定の処理を行うファイルを使い回してコードの冗長化を防ぐことができます。
他にも細かいテクニックについて書かれているので、初学者から中級者まで参考になる章です。
8章:フォーム(Form)
「Form」はユーザーがデータを登録する際の設定を定義できます。
この「Form」に関して仕組みから定義の仕方まで説明してくれています。
Djangoでは「Form」を使わななくてもデータを登録することはできます。
しかし、登録する部分を少しおしゃれにしたかったり、ユーザーが登録できるものを制限したかったり(ブログ記事の投稿日時など)する場合は「Form」を使用することをお勧めします。
また、データを登録する際にはセキュリティが重要になってきます。
Djangoでは簡単にセキュリティ対策ができるので、見逃さずに読んでください!
9章:ミドルウェア(Middleware)
「ミドルウェア」について調べると以下のように定義されています。
Djangoのリクエスト/レスポンス処理の前後で、プログラムの特定箇所にユーザーが作成した処理を追加して実行する仕込みを加える。
これだけではよくわからないと思いますが、要は「ログ」や「セッション情報」を取り出している部分です。
初学者にとってはなかなか難しいと思うので、「へぇ〜こんなのあるんだ」程度で良いと思います。
Djangoに慣れてきたあたりでもう一度読んで理解すれのがベストです!
10章:設定オブジェクトと設定ファイル(settings.py)
ここではDjango全体の設定を定義しています。
全体の設定なのでめちゃくちゃ重要な部分であり、さらに量も多いです。
具体的には以下のようなものが代表的です。
・パッケージ追加
・CSS、JavaScriptファイルの設定。
・画像やHTMLの設定。
・データベースの設定。
・言語やタイムゾーンの設定。
・許可するホストの設定。
この他にもさまざまな設定ができるので、徐々にカスタマイズできるようになるとできることの幅が広がります。
この設定に関して初学者は間違えやすいため、以下のようなミスが起こります。
・画像やCSS、JavaScriptファイルの読み込みの失敗。
・データを追加できない。
・必要なパッケージを追加できていない。
エラーが出たときはこの「settings.py」も疑うようにしてください!
11章:データベースのマイグレーション
「マイグレーション」とは以下のようなことを指します。
「Model」の変更を保存する。
「Model」とは6章でも述べている通り、「データベース」のことです。
「データベース」設定を変更した場合、その変更を保存しておかないとデータの「追加」、「取得」、「変更」、「削除」などができなくなります。
そのため、「データベース定義のこの部分を変更したよ!」と言うことをDjango側に知らせる必要があります。
そのためのコマンドがDjango側では用意されているため、その使い方を説明してくれています。
12章:開発用Webサーバー(runserver)を起動する
章タイトルの通り作成したWebアプリケーションを起動する方法を説明しています。
この部分で頻繁にエラーが起きるので、1つ1つ根気強く解決していく必要があります。
エラー文を読んでググったりすると解決方法が見つかることが多いです。
また、Webサーバーを起動しながら開発できるので、細かい修正などをすぐに確認できるので良い点ですね!
13章:管理サイト(Django Admin)
この章では管理画面について説明してくれています。
管理画面と言われてもパッとはイメージできないかもしれないですが、以下のような特徴を持っています。
・開発者やサイト管理者など、限られた人しか見ることができない。
・Webアプリケーションに登録されているデータを見ることができる。
・とてもみやすい画面になっている。
「データがしっかり登録されているか」や「どんなデータが登録されているか」などをわかりやすく見ることができます。
この画面がないとコードを直接みたり、データベースを除く必要があるので、めちゃくちゃありがたいものです。
定義したモデルをこの管理画面に表示するにはとある設定が必要なので、その設定の仕方と表示する際のカスタマイズについても説明してくれています。
そして何よりも嬉しいのが「めちゃくちゃみやすい」と言うことです。
管理画面と言われると「ごちゃごちゃしていてみにくそう」のようなイメージをしませんか?
しかし、Djangoの管理画面はそんなイメージを吹き飛ばすほどみやすいので、ぜひこの感動を体感してもらいたいです。
14章:便利なDjangoパッケージを使おう
Djangoにはデフォルトでは入っていないが、めちゃくちゃ便利なパッケージがいくつもあります。
その代表的なものをこの章では紹介してくれています。
この章で紹介されているもの以外にも便利なパッケージはたくさんあるので、ぜひ自分でも調べてみてください。
15章:サンプルコード
この章ではタイトルにある通り、サンプルコードの紹介をしてくれています。
この本で解説してあることを実装してくれているので、コードを見ながら復習したり、自分で同じものを実装してみるとレベルアップにつながること間違いなしです!
16章:付録
最後の付録として、
Python3のインストール手順
Pythonに特化したエディタである「Pycharm」のインストールと初期設定
「Pycharm」によるDjango開発環境の構築手順
知っているとお得なDjangoのコマンド紹介
を紹介してくれています。
読み始めるときはこの付録からみてDjangoの開発環境を整えていくのが良いかもしれないですね。
読んで見ての感想
最後にこの本を読んで見ての感想を書いていきたいと思います。
まず一言で言うと
見た目は薄いのが内容が濃い本
見た目は薄いですが痒いところまで手が届く本になっているため、Djangoを触り始めて1年以上経ちますがいまだにみることがあります。
「Djangoのアプリケーションを手順通りに開発していく」と言う本ではなく、「ここはこんなことしてるんだよ」と言うふうにDjangoのより深い理解につながるような本です。
僕自身Djangoを使った実務を行なっていますが、この本のタイトルにある通り「現場」で使えます。
「手順に沿ってDjangoアプリケーション」を構築する本や教材と供に購入することをおすすめします!
最後に
今回の記事では「現場で使えるDjangoの教科書《基礎編》」という本について紹介してきました。
僕がDjango初学者の頃にめちゃくちゃお世話になった本なので、Django初学者の方の参考になれば幸いです。
今後もプログラミング関係の本や教材について紹介していくので、ぜひ見ていっていただけると嬉しいです!
また、この本のタイトルをよく見てみると「《基礎編》」とあるように実は「応用編」があります。
「応用編」の方も近々紹介するのでTwitterをフォローしてくれているとツイートで確認できます。
Djangoを使ってTodoリストを作成する手順を紹介しています。
こちらも併せてみていただけるとDjangoの理解がはやくなります!
それでは!