プログラミングを頑張る土木系専攻大学院生のブログ

主にプログラミングについて開発備忘録的な形で投稿しています。

Djangoでポートフォリオをつくる② プロジェクトの作成と基本設定 (settings.py の設定)

Djangoポートフォリオをつくる② プロジェクトの作成と基本設定

 

siip.hateblo.jp

前回の記事(↑)では、Djangoの開発環境の構築方法について説明しました。今回は、Djangoプロジェクトの作成からアプリの作成、初期設定の変更までを丁寧に解説していきます。この記事を読めば、Djangoでのプロジェクト開始準備が一通り理解できるはずです。



1. プロジェクトの作成

📁 プロジェクトの作成場所を指定する

まず、Djangoプロジェクトを作成するフォルダを決めます。ターミナル(PowerShell)で cd コマンドを使って移動しましょう。

cd "C:\DjangoProjects"

cd コマンドの説明:

  • cdchange directory の略で、「ディレクトリ(フォルダ)の移動」を意味します。
  • "C:\DjangoProjects" の部分は、実際に作成したいフォルダのパスを指定します。

💡 ターミナルでのパス入力のコツ
ファイルパスは途中まで入力して Tab キーを押すと、候補が自動補完されるので、入力ミスを防げます。


🛠️ Djangoプロジェクトの作成

次に、Djangoプロジェクトを作成するために、以下のコマンドを入力します。

django-admin startproject portfolio

これで、portfolio という名前のプロジェクトフォルダが作成されます。


📂 作成されるファイルの解説

作成されたフォルダの構成は以下の通りです。

portfolio/
├── manage.py
└── portfolio/
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    ├── wsgi.py
    └── __init__.py
  • portfolio(外側のフォルダ): プロジェクトのルートディレクトリです。
  • manage.py Djangoの管理コマンドを実行するためのファイルです。サーバーの起動やデータベースの管理などを行います。
  • portfolio(内側のフォルダ): プロジェクトの設定ファイルを含むフォルダです。
    • settings.py: プロジェクト全体の設定ファイルです。
    • urls.py: URLルーティングを定義するファイルです。
    • asgi.py & wsgi.py: Webサーバーとの接続を制御するファイルです(通常デフォルトのままでOK)。

📁 プロジェクトフォルダに移動

プロジェクトを作成したら、次にプロジェクトフォルダへ移動します。

cd portfolio

2. アプリの作成

Djangoでは、プロジェクトの中に複数のアプリ(機能単位のモジュール)を作成して管理します。
プロジェクトはWebアプリケーション全体を表し、アプリは「ブログ」「ユーザー管理」「お問い合わせフォーム」などの個別機能を指します。


📦 アプリの作成コマンド

以下のコマンドで、新しいアプリを作成します。

python manage.py startapp first_app

これで、first_app という名前のアプリフォルダが作成されます。自身で作るポートフォリオに合わせてこちらのアプリ名は自由に変更してください。


📂 作成されるファイルの解説

first_app/
├── admin.py
├── apps.py
├── models.py
├── tests.py
├── views.py
├── __init__.py
└── migrations/
  • admin.py:管理画面の設定を行うファイル
  • apps.py:アプリケーションの設定を管理
  • models.py:データベースのテーブル設計を行うファイル
  • tests.pyユニットテストを書くためのファイル
  • views.py:画面表示やデータ処理のロジックを書くファイル
  • migrations/:データベースの変更履歴を管理するファイル群

3. マイグレーションと管理者アカウント作成

Djangoでは、デフォルトでデータベースとしてSQLiteが使用されます。
まず、初期データベースを作成し、次に管理画面の管理者アカウントを作成します。


🗃️ 初期データベースの作成(マイグレーション

デフォルトのデータベース設定を反映させるため、以下のコマンドを実行します。

python manage.py migrate

マイグレーションとは?
データベースに必要なテーブルを自動生成する作業のことです。
Djangoのデフォルト設定で、すでにユーザー管理用のテーブルなどが作成されます。


👤 管理者アカウントの作成

Djangoの管理画面にログインするため、管理者アカウントを作成します。

python manage.py createsuperuser

 

ユーザー名、メールアドレス、パスワードを順に入力していきます。


🌐 開発サーバーの起動と管理画面の表示

以下のコマンドでDjangoの開発サーバーを起動します。

python manage.py runserver

表示されるメッセージの中に

Starting development server at http://127.0.0.1:8000/

と表示されていれば成功です。
ブラウザで http://127.0.0.1:8000/admin にアクセスし、作成した管理者アカウントでログインできます。


4. settings.py の基本設定

次に、Djangoの設定ファイルである settings.py を編集して、必要な初期設定を行います。


✅ ALLOWED_HOSTS の設定

ALLOWED_HOSTS は、どのドメインからアクセスを許可するかを指定する設定です。

ALLOWED_HOSTS = ['*']

💡 注意
* を指定すると、すべてのアクセスを許可するため、開発環境では問題ありませんが、
本番環境では必ずドメインを指定しましょう。


✅ アプリの登録

作成したアプリをDjangoに認識させるために、INSTALLED_APPS に追記します。

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "first_app",  
]

✅ 日本語化とタイムゾーンの設定

デフォルトでは英語表記のため、日本語と日本のタイムゾーンに変更します。

LANGUAGE_CODE = "ja"
TIME_ZONE = "Asia/Tokyo"

🎯 まとめ

これでDjangoプロジェクトの作成と初期設定が完了しました!次回の記事では、HTMLファイルを格納するtemplates、CSSや画像など静的ファイルを格納するstaticsについて解説します。

 

 


📢 次回の記事:「Djangoポートフォリオをつくる③ HTMLやCSS、画像の読み込み設定」

siip.hateblo.jp