Djangoの学習を深めるための実践的なガイド、今回は「ライブラリのメインページを作成する」というテーマで進めます。この章では、Djangoの基本的な使い方から、ライブラリのメインページに必要な要素を作成する過程を段階的に説明します。
1. 環境の準備
まず、Djangoをインストールし、必要なプロジェクトとアプリケーションをセットアップします。Djangoを使った開発を始めるためには、以下のコマンドを実行して仮想環境を作成し、Djangoをインストールします。

bashpython -m venv myenv
source myenv/bin/activate # Mac/Linux
myenv\Scripts\activate # Windows
pip install django
次に、新しいプロジェクトを作成します。
bashdjango-admin startproject library_project
cd library_project
その後、アプリケーションを作成します。
bashpython manage.py startapp library
2. モデルの作成
ライブラリのメインページには本の情報を表示するため、まず「Book」モデルを作成します。library/models.py
に以下のコードを追加します。
pythonfrom django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
description = models.TextField()
published_date = models.DateField()
def __str__(self):
return self.title
ここでは、本のタイトル、著者、説明、出版日を管理するモデルを作成しています。このモデルを使って、データベースに本の情報を保存できるようになります。
次に、マイグレーションを実行してデータベースに反映させます。
bashpython manage.py makemigrations python manage.py migrate
3. 管理サイトの設定
Djangoには強力な管理インターフェースが組み込まれています。これを使用して、ライブラリに本を追加したり管理したりできます。まず、library/admin.py
に以下のコードを追加して、管理画面でBookモデルを表示できるようにします。
pythonfrom django.contrib import admin
from .models import Book
admin.site.register(Book)
これで、管理サイトにログインして本のデータを追加できるようになります。
4. ビューの作成
ライブラリのメインページに本のリストを表示するためには、ビューを作成する必要があります。library/views.py
に以下のコードを追加します。
pythonfrom django.shortcuts import render
from .models import Book
def home(request):
books = Book.objects.all()
return render(request, 'library/home.html', {'books': books})
このビューは、データベースからすべての本を取得し、それをテンプレートに渡します。
5. テンプレートの作成
次に、ライブラリのホームページとなるテンプレートを作成します。library/templates/library/home.html
というファイルを作成し、以下のコードを追加します。
htmlhtml>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ライブラリのメインページtitle>
head>
<body>
<h1>ライブラリの本一覧h1>
<ul>
{% for book in books %}
<li>
<h2>{{ book.title }}h2>
<p>著者: {{ book.author }}p>
<p>説明: {{ book.description }}p>
<p>出版日: {{ book.published_date }}p>
li>
{% endfor %}
ul>
body>
html>
このテンプレートは、データベースから取得した本の情報をリストとして表示します。
6. URLの設定
ビューを表示するために、URLを設定する必要があります。library/urls.py
というファイルを作成し、以下の内容を追加します。
pythonfrom django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
そして、プロジェクトのlibrary_project/urls.py
に以下のコードを追加して、library
アプリケーションのURLを含めます。
pythonfrom django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('library.urls')),
]
これで、/
にアクセスすると、ライブラリの本一覧が表示されるようになります。
7. 開発サーバーの起動
最後に、Djangoの開発サーバーを起動し、ブラウザで確認します。
bashpython manage.py runserver
ブラウザでhttp://127.0.0.1:8000
にアクセスすると、ライブラリの本の一覧が表示されます。
結論
これで、Djangoを使ってライブラリのメインページを作成するための基本的な構成が整いました。このプロジェクトは、Djangoのモデル、ビュー、テンプレートの基本的な使い方を理解するのに役立ちます。次のステップとして、さらに機能を追加して、ユーザーが本を検索したり、詳細情報を確認したりできるようにすることができます。