Web制作、Web開発の歩き方

初心者のためのDjango入門

■第1話:Djangoのしくみ(MTVモデル)

(最終更新日:2024.11.12)

Djangoフレームワークのイメージ
この記事は5分で読めます!
(絵が小さい場合はスマホを横に)

「日本語の文献が少ない!」

Djangoを使ってみて、まず思ったことはこれである。他のフルスタックフレームワーク(Ruby on Rails、Laravel)と比べると、 日本語の本や動画教材がとても少ないということである。 この点はDjangoを使う上でのデメリットである。ただし、ここ数年、分かりやすい本や動画がかなり出てきていて、状況は改善されつつある。 評価の高い本やUdemyなどの動画教材で学べば、早ければ3か月、遅くとも半年くらいでDjango使いになれるだろう。 Djangoは痒いとこまで手が届く、とても素晴らしいフルスタックフレームワークである。興味が沸いたのであれば、ぜひこの機会に使ってみよう。

世界的にみると、Djangoは最も良く使われているフルスタックフレームワークである。 Instagram、YoutubeもDjangoで作られている。 多くの企業で使われる理由としては、ユーザー管理機能やセキュリティ対策をはじめ、必要な機能が極めて充実していることが挙げられる。 (ただし、RailsやLaravelも充実しているのでそれらと比べれば明確なアドバンテージとは言い難いが、 それでもDjangoの長所であることは間違いない。) 加えて、Python製のため機械学習アプリケーションと相性が良い。同じ言語で前処理から分析、API作成まで行える。 この点が、他フレームワークと比較した際のアドバンテージと言える。

また、Djangoは2005年からPythonの最も代表的なフレームワークとしてその地位を譲っておらず、 今後も長く使い続けられる可能性が高い。 また、古くから開発されているので、基本的な機能は充分枯れていて大きな変更もなく、その対応でアタフタする心配も少ない。 バージョンアップの計画も公式サイトで示されている。 メンテナンスに関してもしばらくは安心である。 最近のニュースだと、Django4でPython11に対応したことや非同期処理に対応したのも魅力的だ。 今後も精力的に開発されることは間違いないだろう。

今回は、そんなフルスタックフレームワーク「Django」について、初心者の方でも分かるよう、簡単に説明していきたいと思う。 最初からたくさん説明すると理解しきれないと思うので、第1話では、DjangoのしくみとDjangoの始め方までを説明する。


1.Djangoのしくみ(MTVモデル)

Djangoの仕組みをMVCに当てはめて分析すると、以下の図のようになる。

MVCに当てはめたDjangoのしくみ

Djangoの仕組みはMCVと比較して、MTVと呼ばれている。 ④のTemplateのT、②のViews.pyのVをとってそう呼んでいる。 ただし、DjangoのViewはView(見た目)に有らず、他フレームワークのMVCでいうControllerにあたる。 そして、TemplateがViewに当たる。 まずは、この呼び方の違いを認識しよう。これらの機能を具体的に説明すると、

①のurls.pyでルーティングを行い
②のmodels.pyでデータベース(DB)とデータのやり取りを行い
③views.pyでDBから取得したデータを加工し、変数化、表示のベースとなるTemplateを指定し
④のTemplateでHTMLで表示する具体的な記述をする

ということである。よって、views.pyがModel(DB操作)とTemplate(見た目)の仲介役をしていると考えれば分かりやすい。

実際のコードの様子は以下の例のようになる。 ②のviews.pyがModelとTemplateを指定している様子が分かる。 全体像と個々のファイルの役割が掴めてしまえば、あとはいじって覚えるだけである。 やっていることは、他のフレームワークと変わらない。

Djangoのしくみに対するコード例

2.Djangoの始め方、インストール方法

ここでは、仮想環境を使わない方法で記述する。Python3系が既にインストールされているものとする。 Windowsならコマンドプロンプト、MacならTerminalで、
「pip install django」
と命令してインストールする。無事インストールできたら、
「django-admin startproject プロジェクト名」
でプロジェクトを作成できる。もし、うまくいかないようであれば、
「python -m django startproject プロジェクト名」
を実行してほしい。プロジェクトディレクトリが作成されているはずだ。 これをVSCodeで開いて、VSCode上のTerminalで
「python manage.py runserver」
と命令すれば、無事Djangoが起動するはずだ。
(python2系もインストール済だと、pip→pip3、python → python3に置き換える必要がある)
これで、自分のPCからいつでもDjangoを使うことができる。

次回から、Djangoの具体的な使い方を説明する。

Djangoが起動できたら成功

▼参考図書、サイト

 「Djangoのツボとコツがゼッタイにわかる本」 大橋亮太 秀和システム
 「現場で使えるDjango管理サイトのつくり方」 横瀬明仁