これからdjangoの勉強をしていきたいけど、djangoを使うと何が便利なのかイメージがわかない。
具体的なメリットを理解してから勉強を開始したい。
このように考えている方も多いのではないでしょうか?そこで今回は、djangoを使ってなにができるのかという点についてわかりやすく解説していきます。
djangoを使うと、Facebookのようなサイトが簡単に作れます
djangoを使うと、Facebookのようなサイトが簡単に作れるようになります。
ここでは、イメージをぐっと膨らませてもらうために、Facebookを一から作る場合に予想される実装内容と、それがdjangoを使うことによってどれほど簡単になるのかという点について理解していきましょう。
ユーザー登録
まずはユーザー登録です。
一から作る場合
ユーザー登録を一から作る場合、このようなことを実装しなければいけません。
- 重複するユーザー名の排除
- パスワードのハッシュ化
- 入力されたデータのバリデーション(メールアドレスに@が入っているかなど)
Djangoの場合
Djangoでは、Userというデータベースがあらかじめ準備されており、このデータベースを使うだけで、上記の機能を実装することができます。
新規投稿
次に、新規投稿する場合についてみていきましょう。
一から作る場合
一から新規投稿の仕組みを作るためには、このようなことを実装しなければいけません。
- 個別の投稿とurlの紐づけ
- 画像の管理
- どのユーザーが投稿したのかを分かるようにする仕組み
- 投稿した日時の記録
Djangoの場合
Djangoには、Template Viewをいうものがあります。これは、データの投稿や削除をするための機能をまとめたものをパッケージとして備えてくれているものです。
新規投稿の場合、CreateViewというTemplateがあります。このテンプレートを使うことによって、データベース側の設定をほとんど行わなくても、新規の投稿ができるようになります。
友達の投稿の表示
Facebook独自の特徴として、友達の投稿だけを表示していくという機能があります。
一から実装する場合
一から実装する場合、どのように友達の投稿を表示すればよいのか、簡単にはイメージが湧きません。
Djangoの場合
Djangoの場合、複数のテーブル(データベース)の内容を関連付けることができます。
ですので、自分のテーブルと友達のテーブルを関連付け、友達のテーブルの投稿データを順番に表示していく。ということも簡単に実装することができます。
結局は、複雑なデータのやり取りを簡単にすることができる
何点か例を挙げて説明してきましたが、結局は複雑なデータのやり取りを簡単にできるようにしているのがDjangoです。
その分はじめは覚えることが多くて大変ですが、一度覚えてしまえば、一からウェブサイトを作るよりも10倍は早く開発ができると思います。
複雑なデータを上手に使いこなせるんだな~、というイメージを持ちながらdjangoを学んでいくと、効率的に勉強をすることができるようになるでしょう。
djangoについてさらに理解を深めるためには、django(フレームワーク)の仕組みを分かりやすく解説という記事もあわせて読んでみるとよいでしょう。