Djangoについて

2025 年 9 月 24 日 by yamamotor

1.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のチュートリアルを触ってみました。

はじめに · HonKit

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サーバーを起動した状態で下記アドレスを開くと、このような画面が表示されました。

http://127.0.0.1:8000/

割愛した部分もありますが、かなり少ない手数で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開発は難しい印象があるかと思いますが、フレームワークを上手く利用することで、

初学者でも簡単に作成できるようになっているため、ぜひ挑戦してみてください。

タグ: , ,

TrackBack