Pythonの強力なフレームワーク「Django」でWeb開発の第一歩を踏み出そう
![]()
【Yuki】
Hirokiくん、こんにちは。今日はPythonを使ったWeb開発について、一緒に勉強していきましょうか。
今回お話しするのは、「Django(ジャンゴ)」というフレームワークについてです。少し難しいかもしれませんが、ゆっくり説明しますね。
![]()
【Hiroki】
Yukiさん、よろしくお願いします!Djangoですね。名前は聞いたことがありますが、具体的にどんなことができるのか、他のフレームワークと何が違うのか気になっていました。
![]()
【Yuki】
そうですね、Djangoは一言で言うと「フルスタックフレームワーク」と呼ばれています。
Webサイトを作るために必要な機能が最初からほとんど揃っているんです。
開発者が一から全てを作る必要がないので、「電池付属(Batteries Included)」という哲学で作られているんですよ。
複雑なシステムも、Djangoを使えば比較的短い時間で形にできる……かもしれません。
![]()
【Hiroki】
「電池付属」って面白い表現ですね。最初から何でも入っているから、すぐに動かせるということでしょうか?
![]()
【Yuki】
はい、その通りです。例えば、ユーザーのログイン機能や管理画面、データベースとの連携といった、どんなWebアプリでも必要になる機能が、標準で組み込まれているんです。
これらを自分で作ろうとすると大変ですが、Djangoなら設定を少し変えるだけで使えてしまいます。
少し、具体的な中身についても見ていきましょうか。
Djangoの根幹を支える「MTVモデル」
![]()
【Yuki】
Djangoを理解する上で一番大切なのが、「MTV」という考え方です。
これは、プログラムの役割を3つのパーツに分ける仕組みのことですね。
![]()
【Hiroki】
MTV……音楽番組の名前みたいですね。それぞれどんな意味があるんですか?
![]()
【Yuki】
ふふ、そうですね。でもDjangoでは、Model(モデル)、Template(テンプレート)、View(ビュー)の頭文字なんです。
- Model (モデル): データベースの構造を定義します。データがどんな形をしているかを決めるところですね。
- Template (テンプレート): ブラウザに表示される画面の見た目を担当します。主にHTMLで書かれます。
- View (ビュー): ユーザーからのリクエストを受け取って、どのデータを表示するか、どんな処理をするかを決める「司令塔」のような役割です。
![]()
【Hiroki】
なるほど。役割分担がしっかり決まっているから、大きなプロジェクトでも混乱しにくいんですね。
![]()
【Yuki】
はい。この構造があるおかげで、コードが整理されてメンテナンスがしやすくなるんです。
ちょっと控えめに言っても、とても合理的な設計だと思います……。
Djangoの開発環境を整える
![]()
【Yuki】
では、実際にDjangoを使うための準備をしてみましょうか。
まずは、Pythonがインストールされている環境で、Djangoをインストールします。
仮想環境を作ってから作業するのが、お行儀が良くておすすめですよ。
![]()
【Hiroki】
仮想環境ですね。プロジェクトごとにライブラリを分けられるから、他の開発に影響を与えなくて済むんですよね。
![]()
【Yuki】
その通りです。さすがHirokiくん、よく知っていますね。
以下の手順でコマンドを打ってみてください。
# プロジェクト用のフォルダを作成して移動
mkdir myproject
cd myproject
# 仮想環境を作成して有効化
python -m venv venv
source venv/bin/activate # Windowsの場合は venv\Scripts\activate
# Djangoをインストール
pip install django
![]()
【Hiroki】
インストールできました!次はどうすればいいですか?
![]()
【Yuki】
次は、Djangoのプロジェクトを作成します。
Djangoには専用のコマンドがあって、それを実行するだけで必要なファイルが自動的に生成されるんです。
# プロジェクトの作成
django-admin startproject config .
![]()
【Yuki】
これで、基本的な構成が出来上がりました。
一度、この状態でWebサーバーを起動してみましょうか。
python manage.py runserver
![]()
【Yuki】
ブラウザで http://127.0.0.1:8000/ にアクセスしてみてください。
ロケットのアイコンが表示されたら成功です。
![]()
【Hiroki】
あ、動きました!「The install worked successfully!」って出ています。
まだ何も書いていないのに、もうWebサイトとして動いているなんて驚きです。
Djangoの強力な機能「管理画面」
![]()
【Yuki】
Djangoのすごいところはここからなんです。
特別なプログラミングをしなくても、データベースの中身を操作できる「管理画面」が最初から用意されているんですよ。
![]()
【Hiroki】
管理画面が最初から?それは便利そうですね!
![]()
【Yuki】
はい。まずはデータベースのセットアップ(マイグレーション)と、管理者のアカウント作成を行ってみましょう。
# データベースの初期設定
python manage.py migrate
# 管理者の作成
python manage.py createsuperuser
![]()
【Yuki】
ユーザー名やメールアドレス、パスワードを聞かれるので、忘れないように入力してくださいね。
入力が終わったら、もう一度 runserver をして、URLの末尾に /admin/ をつけてアクセスしてみてください。
![]()
【Hiroki】
ログイン画面が出てきました!さっき作ったアカウントでログインしてみます。
……すごい、ユーザーの管理とかがGUIでできるようになっていますね。
![]()
【Yuki】
そうなんです。本来なら何日もかかるような管理システムの構築が、数分で終わってしまいます。
これも「電池付属」の恩恵ですね。
最新のAI API(Gemini)を組み込んでみる
![]()
【Yuki】
せっかくなので、最近のトレンドも取り入れてみましょう。
Djangoの中で、AIのAPIを使って何か答えてくれる機能を作ってみるのはどうでしょうか。
今回はGoogleの最新AIモデル、「Gemini 1.5 Flash」をDjangoから呼び出してみましょう。
![]()
【Hiroki】
最新のAIですね!楽しそうです。どうやって連携させるんですか?
![]()
【Yuki】
まずは、Googleが提供している最新のライブラリ google-genai をインストールしましょう。
これを使うと、非常に簡単に最新のモデルにアクセスできるんです。
pip install google-genai
![]()
【Yuki】
次に、views.py というファイルに、AIに質問を送る処理を書いていきます。
例えば、こんな風に書くことができます。
from django.shortcuts import render
from google import genai
import os
def chat_view(request):
response_text = ""
if request.method == "POST":
user_input = request.POST.get("user_query")
# クライアントの初期化
client = genai.Client(api_key="YOUR_API_KEY")
# 最新モデル「gemini-1.5-flash」を使用して回答を生成
response = client.models.generate_content(
model="gemini-1.5-flash",
contents=user_input
)
response_text = response.text
return render(request, "chat.html", {"response": response_text})
![]()
【Hiroki】
意外とシンプルですね!client.models.generate_content という部分でAIと通信しているのがわかります。
![]()
【Yuki】
そうなんです。APIキーを取得して設定すれば、Djangoから簡単にAI機能を呼び出せるようになります。
このように、「外部の高度な機能と組み合わせやすい」のもDjangoがプロの開発現場で選ばれる理由の一つかもしれません。
Djangoを学ぶためのヒント
![]()
【Hiroki】
Djangoって、覚えることは多いけれど、その分できることがすごく広がるフレームワークなんですね。
![]()
【Yuki】
はい。最初はディレクトリ構造や設定ファイルの多さに戸惑うこともあるかと思います。
でも、一度慣れてしまうと、これほど頼もしい味方はいない……と私は思います。
学習を続けるなら、公式サイトのチュートリアルがとても充実しているので、ぜひ読んでみてください。 Django ドキュメント | はじめての Django アプリ作成
また、最新のAIライブラリについてはこちらのドキュメントが参考になります。 Google GenAI SDK
![]()
【Hiroki】
ありがとうございます!まずは簡単な掲示板アプリから作ってみて、そこにAIの機能を載せていけるように頑張ります。
![]()
【Yuki】
その意気です。一歩ずつ進んでいけば、きっと自分だけの素敵なWebアプリが作れるようになりますよ。
あ……もうこんな時間ですね。
私は夜の方が集中できるタイプなので、これからもう少し自分のプログラムをいじろうかな、なんて思っています。
Hirokiくんは、無理せず休んでくださいね。
![]()
【Hiroki】
はい!Yukiさんも、あまり夜更かししすぎないようにしてくださいね。今日はありがとうございました!
![]()
【Yuki】
ふふ、心配してくれてありがとうございます。
それでは、また次の機会に。お疲れ様でした。
この記事では基礎を解説しましたが、実務においては「もっと複雑なデータを扱いたい」「独自のシステムに組み込みたい」といった、個別の課題に直面することも多いはずです。
「自分で書く時間は最小限に抑え、プロの品質でツールを完成させたい」という方は、ぜひ一度ご相談ください。
- 専門家の知見に基づいた、保守性の高いコード設計
- AIの専門家による、Gemini API等の最新AIを組み合わせた高度な自動化
- ChatGPT等が生成したコードのデバッグ・最適化
「教わる」だけでなく「形にする」パートナーとして、フリーランスエンジニアのmei_13が最短ルートでの解決をサポートします。


