Djangoとは何か
Djangoは、Pythonで書かれたオープンソースのWebフレームワークです。Djangoは「複雑さを抽象化し、Web開発をより簡単に、より楽しくする」ことを目指して設計されています。
Djangoの主な特徴は以下の通りです:
-
全機能を備えたフレームワーク:Djangoは、データベース操作、URLルーティング、テンプレートエンジン、フォーム処理、認証、管理インターフェースなど、Webアプリケーション開発に必要なほとんどの機能を提供します。
-
DRY(Don’t Repeat Yourself)原則:Djangoは、同じコードを何度も書かないようにするDRY原則を強く推奨します。これにより、コードの重複を避け、メンテナンスを容易にします。
-
MTV(Model-Template-View)アーキテクチャ:Djangoは、データの管理(Model)、表示の管理(Template)、アプリケーションの制御フロー(View)を分離するMTVアーキテクチャを採用しています。
これらの特徴により、Djangoは大規模なWebアプリケーションの開発にも適しています。また、Djangoの豊富なドキュメンテーションと活発なコミュニティにより、初心者から経験豊富な開発者まで、多くの人々がDjangoを利用しています。
Djangoプロジェクトの作成
Djangoプロジェクトを作成するには、以下の手順を実行します。
- Djangoのインストール:まず、Pythonとpipがインストールされていることを確認します。次に、コマンドラインから以下のコマンドを実行してDjangoをインストールします。
pip install django
- プロジェクトの作成:Djangoをインストールしたら、新しいプロジェクトを作成します。以下のコマンドを実行します。
django-admin startproject myproject
ここで、myproject
はあなたが作成したいプロジェクトの名前です。このコマンドを実行すると、myproject
という名前のディレクトリが作成され、その中にはDjangoプロジェクトの基本的なファイルとディレクトリが含まれます。
- プロジェクトの確認:プロジェクトが正しく作成されたか確認するために、開発サーバーを起動します。以下のコマンドを実行します。
cd myproject
python manage.py runserver
これで、ブラウザからhttp://localhost:8000/
にアクセスすると、Djangoのウェルカムページが表示されます。
以上が、Djangoプロジェクトの作成手順です。次のステップは、このプロジェクトにアプリケーションを追加することです。それについては、次の小見出しで詳しく説明します。
Djangoプロジェクトの設定
Djangoプロジェクトを設定するには、以下の手順を実行します。
-
設定ファイルの確認:Djangoプロジェクトの設定は、
settings.py
というファイルに格納されています。このファイルは、プロジェクトディレクトリの中にあるmyproject
ディレクトリ(myproject
はあなたが作成したプロジェクトの名前)の中にあります。 -
データベースの設定:
settings.py
の中には、データベースの設定が含まれています。デフォルトでは、DjangoはSQLiteを使用しますが、必要に応じて他のデータベース(MySQL、PostgreSQLなど)に変更することができます。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
- インストールされたアプリケーションの設定:
settings.py
には、プロジェクトで使用するDjangoアプリケーションのリストも含まれています。新しいアプリケーションを作成した場合、そのアプリケーションをこのリストに追加する必要があります。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'myapp', # 新しいアプリケーションを追加
]
- タイムゾーンの設定:
settings.py
では、プロジェクトのタイムゾーンも設定できます。デフォルトでは、タイムゾーンはUTC
に設定されていますが、必要に応じて変更することができます。
TIME_ZONE = 'UTC'
以上が、Djangoプロジェクトの基本的な設定手順です。これらの設定を適切に行うことで、Djangoプロジェクトの動作を制御することができます。
Djangoでの開発用サーバーの使用
Djangoは、開発中のアプリケーションをテストするための軽量なWebサーバーを提供しています。以下に、その使用方法を説明します。
- サーバーの起動:Djangoプロジェクトのルートディレクトリ(
manage.py
が存在するディレクトリ)で、以下のコマンドを実行します。
python manage.py runserver
このコマンドを実行すると、開発サーバーが起動し、デフォルトではhttp://127.0.0.1:8000/
(またはhttp://localhost:8000/
)でアクセスできます。
-
サーバーの停止:開発サーバーを停止するには、コマンドラインで
Ctrl+C
を押します。 -
ポートの変更:開発サーバーのポートを変更するには、
runserver
コマンドにポート番号を指定します。例えば、ポート8080
でサーバーを起動するには、以下のコマンドを実行します。
python manage.py runserver 8080
以上が、Djangoの開発用サーバーの基本的な使用方法です。このサーバーは、開発中のアプリケーションをローカルで簡単にテストするためのものであり、本番環境での使用は推奨されていません。
Djangoプロジェクトの管理
Djangoプロジェクトの管理は、manage.py
というコマンドラインユーティリティを使用して行います。以下に、その主な使用方法を説明します。
- データベースのマイグレーション:Djangoは、データベーススキーマの変更を管理するためのマイグレーションシステムを提供しています。新しいマイグレーションを作成するには、以下のコマンドを実行します。
python manage.py makemigrations
マイグレーションをデータベースに適用するには、以下のコマンドを実行します。
python manage.py migrate
- 管理インターフェース:Djangoは、データベース内のデータを管理するための強力な管理インターフェースを提供しています。管理インターフェースを使用するには、まずスーパーユーザーを作成します。
python manage.py createsuperuser
次に、開発サーバーを起動し、ブラウザからhttp://localhost:8000/admin
にアクセスします。
- テストの実行:Djangoは、アプリケーションのテストを実行するためのテストフレームワークを提供しています。テストを実行するには、以下のコマンドを実行します。
python manage.py test
以上が、Djangoプロジェクトの基本的な管理方法です。これらのコマンドを適切に使用することで、Djangoプロジェクトの開発とメンテナンスを効率的に行うことができます。