Djangoについて
2025 年 9 月 24 日 by yamamotor1.Django とは
【Django】とは、Pythonで書かれたWebフレームワークです。
Pythonのフレームワークとしては、【Flask】も有名ですが、Flaskがマイクロフレームワークであるのに対し、
Djangoはフルスタックフレームワークであるという違いがあります。
すなわち、Djangoは管理画面や認証が必要な大規模向けのサービスに向いており、Flaskは中小規模のサービスに向いています。
2. MVCモデルとMTVモデル
MVC(Model-View-Controller)モデルは古くからあるアプリケーション設計の基本パターンで、下記のような役割分担をしています。
Model:データやビジネスロジック(DBとのやりとり、処理のルール)
View:UIの見た目(HTMLや画面部分)
Controller:リクエストを受け取り、ModelやViewを呼び出して処理の流れを制御
それに対してDjangoはMTVモデルを利用します。
役割分担としてはMVCモデルと同じですが、役割の名称が下記のように異なっています。
Model:データやビジネスロジック( DBとのやりとり、処理のルール)
Template:UI(HTMLの画面部分)
View:リクエストを受け取り、Modelからデータを取得しTemplateへ渡す(Controllerに相当)
実際の処理の流れは以下のようになります。
ユーザーがページをリクエスト → ViewがModelからデータ取得 → Templateに渡してHTMLを返す
3.チュートリアル作業と所感
今回は下記URLのチュートリアルを触ってみました。
Djangoでは、下記コマンドを利用してプロジェクトを作成します。
django-admin.exe startproject mysite .
上記を実行することにより、Djangoに必要なフォルダ・ファイル構成を簡単に作成することが出来ます。

上記のファイルには下記を記載します。
manage.py:プロジェクトの管理コマンド
settings.py:プロジェクトの設定ファイル
urls.py: URLとビュー関数の対応関係を定義
wsgi.py , asgi.py:サーバーとDjangoをつなぐためのエントリーポイント
init.py:空ファイル
次にWebサーバーを起動するためには下記コマンドを実行します。
python manage.py runserver
Webサーバーを起動した状態で下記アドレスを開くと、このような画面が表示されました。

割愛した部分もありますが、かなり少ない手数でWebサイトを作成し、Webサーバー上で起動することが出来ました。
さらに作業を進め、DBに登録した記事の内容を表示するサイトを作成しました。
最終的に作成したフォルダ構成は下記のようになりました。

サーバーを起動し、作成した画面を開くとキャプチャのように、DBに登録した情報が表示されました。

本来Webサイトを1から作成することはかなり大変ですが、Djangoを利用すると、サーバーの設定やデータベースとの連携などの機能がフレームワークとして揃っているため、かなり簡単に実装できるように感じました。
また、管理画面が自動で生成されているため、ユーザーの管理などがGUIで設定できる点も良いかと思います。
4.Djangoを使っている有名アプリ
Djangoは誰しもが知っている有名アプリにも利用されているWebフレームワークです。
例として下記のようなものがあげられます。
1. Instagram
写真・動画共有SNSの代表格。Web版のバックエンドにDjangoが使われています。
2. YouTube
世界最大の動画配信プラットフォーム。Djangoは一部の機能や管理系システムに活用されています。
3. Spotify
音楽ストリーミングサービス。レコメンド機能やユーザー管理などにDjangoが活用されています。
4. Dropbox
ファイル共有・クラウドストレージサービス。Djangoによって大規模なデータ管理が効率化されています。
5.最後に
今回はWebフレームワークのDjangoについて簡単に紹介しました。
Web開発は難しい印象があるかと思いますが、フレームワークを上手く利用することで、
初学者でも簡単に作成できるようになっているため、ぜひ挑戦してみてください。
タグ: Django, Python, Webフレームワーク