プログラミング

Djangoでライブラリサイト作成

Djangoフレームワークを使用してローカルライブラリのウェブサイトを作成するための実践的なガイドを、完全かつ包括的に説明します。この記事はDjangoフレームワークの基本を理解し、実際にプロジェクトを進めるための手順に焦点を当てています。

1. Djangoのインストールとプロジェクトのセットアップ

最初にDjangoをインストールし、プロジェクトを開始するための準備を行います。

1.1. Pythonとpipのインストール

まず、Pythonとpip(Pythonのパッケージ管理ツール)がインストールされていることを確認してください。以下のコマンドをターミナルで実行して、インストールされているか確認します。

bash
python --version pip --version

もし、Pythonがインストールされていない場合は、公式サイトからインストールします。

1.2. Djangoのインストール

次に、Djangoをインストールします。以下のコマンドでDjangoをインストールします。

bash
pip install django

インストールが完了したら、Djangoのバージョンを確認します。

bash
django-admin --version

これで、Djangoのインストールが完了しました。

1.3. プロジェクトの作成

Djangoプロジェクトを作成するには、以下のコマンドを使用します。

bash
django-admin startproject local_library

これで「local_library」というディレクトリが作成され、その中にDjangoプロジェクトの基本構造が自動的に作成されます。

1.4. サーバーの起動

プロジェクトディレクトリに移動し、開発用サーバーを起動します。

bash
cd local_library python manage.py runserver

ブラウザで http://127.0.0.1:8000 を開き、Djangoのウェルカムページが表示されることを確認してください。

2. アプリケーションの作成

次に、ライブラリ管理のためのアプリケーションを作成します。

2.1. アプリケーションの作成

以下のコマンドで「catalog」というアプリケーションを作成します。

bash
python manage.py startapp catalog

これで「catalog」ディレクトリが作成され、アプリケーションの基本的なファイルが生成されます。

2.2. アプリケーションの登録

作成したアプリケーションをプロジェクトに追加するため、local_library/settings.py ファイルを開き、INSTALLED_APPS に「catalog」を追加します。

python
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'catalog', # ここに追加 ]

これでアプリケーションがプロジェクトに組み込まれました。

3. モデルの作成

次に、ライブラリのデータベースモデルを作成します。モデルは、ライブラリの本、著者、ジャンルなどのデータを管理します。

3.1. モデルの定義

「catalog/models.py」ファイルを開き、以下のようにモデルを定義します。

python
from django.db import models class Author(models.Model): name = models.CharField(max_length=100) date_of_birth = models.DateField(null=True, blank=True) date_of_death = models.DateField(null=True, blank=True) def __str__(self): return self.name class Genre(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name class Book(models.Model): title = models.CharField(max_length=200) author = models.ForeignKey('Author', on_delete=models.SET_NULL, null=True) summary = models.TextField(max_length=1000, help_text="Enter a brief description of the book") isbn = models.CharField('ISBN', max_length=13) genre = models.ManyToManyField('Genre', help_text='Select a genre for this book') def __str__(self): return self.title

このコードでは、以下の3つのモデルを定義しています:

  • Author: 著者の名前と生年月日、死亡年月日を管理。
  • Genre: 本のジャンルを管理。
  • Book: 本のタイトル、著者、概要、ISBN番号、ジャンルを管理。

3.2. モデルのマイグレーション

モデルを定義した後、データベースに反映させるためにマイグレーションを行います。まず、マイグレーションファイルを作成します。

bash
python manage.py makemigrations

次に、マイグレーションを適用してデータベースを更新します。

bash
python manage.py migrate

これでデータベースにテーブルが作成され、モデルが反映されます。

4. 管理画面の作成

Djangoには強力な管理画面が組み込まれており、データを簡単に管理できます。次に、この管理画面で本、著者、ジャンルを管理できるようにします。

4.1. 管理画面の登録

「catalog/admin.py」ファイルを開き、以下のようにモデルを管理画面に登録します。

python
from django.contrib import admin from .models import Author, Genre, Book admin.site.register(Author) admin.site.register(Genre) admin.site.register(Book)

4.2. 管理者アカウントの作成

管理画面にアクセスするために、管理者アカウントを作成します。

bash
python manage.py createsuperuser

プロンプトに従って、ユーザー名、メールアドレス、パスワードを設定します。

4.3. 管理画面へのアクセス

サーバーを再起動した後、ブラウザで http://127.0.0.1:8000/admin にアクセスします。先ほど作成した管理者アカウントでログインし、管理画面から著者、本、ジャンルを管理できます。

まとめ

この記事では、Djangoを使用してローカルライブラリのウェブサイトを作成するための基本的なセットアップと、最初のモデルと管理画面を構築する方法を説明しました。次回は、このサイトにビューを追加し、実際にウェブページを表示する方法を学びます。

次のステップとして、ユーザーインターフェースの作成、テンプレートの設定、フォームの実装、検索機能の追加などを行い、より実践的なウェブサイトを完成させていきます。

Back to top button