開発環境の準備
まず、LinuxシステムにPython 3と関連ツールをインストールします。
# パッケージリストを更新
sudo apt-get update
# Python 3をインストール
sudo apt-get install python3
# pipをインストール
sudo apt-get install python3-pip
# 仮想環境ツールをインストール
pip3 install virtualenv
プロジェクトディレクトリの作成
次に、プロジェクト用のディレクトリを作成し、そこに移動します。
# プロジェクトディレクトリの作成
mkdir ~/django_workspace
cd ~/django_workspace
# 仮想環境の作成
python3 -m virtualenv django_env
# 仮想環境の有効化
source django_env/bin/activate
# Djangoのインストール
pip install django
VSCodeの設定
Visual Studio Codeを使用する場合、以下の手順で設定します:
- プロジェクトフォルダを開きます。
Ctrl+Shift+Pでコマンドパレットを開き、Python: Select Interpreterを選択します。- リストから仮想環境のPythonインタープリタを選択(通常は
~/django_workspace/django_env/bin/python)。
Djangoプロジェクトの作成
仮想環境が有効な状態で、Djangoプロジェクトを作成します。
# 新しいプロジェクトの作成
django-admin startproject web_project
このコマンドは、Djangoの必要なファイルを含むweb_projectディレクトリを作成します。
# プロジェクトディレクトリに移動
cd web_project
# ディレクトリ構造の確認
ls -R
設定ファイルの変更
プロジェクトの設定ファイルを編集して、許可されたホストを追加します。
# 設定ファイルを編集
nano web_project/settings.py
ALLOWED_HOSTS設定にサーバーのIPアドレスを追加します:
ALLOWED_HOSTS = ['192.168.80.130']
変更を保存してエディタを終了します。
データベースの初期化
Djangoが使用するデータベースを初期化します:
# マイグレーションの実行
python manage.py migrate
開発サーバーの起動
開発サーバーを起動して、プロジェクトが正しく動作することを確認します:
# 開発サーバーの起動
python manage.py runserver 192.168.80.130:8000
これで、指定したIPアドレスとポート番号でDjangoアプリケーションが実行されます。
Djangoアプリケーションの作成
Djangoプロジェクト内にアプリケーションを作成します。アプリケーションは、プロジェクトの特定の機能を担当します。
サーバーが実行中の場合、まずCtrl + Cで停止し、次のコマンドを実行します:
# 新しいアプリケーションの作成
python manage.py startapp blog_app
これにより、以下のようなディレクトリ構造が作成されます:
__init__.py- Pythonパッケージとして認識させるための空ファイルmigrations- データベースマイグレーション用のスクリプトadmin.py- Django管理画面の設定ファイルapps.py- アプリケーションの設定ファイルmodels.py- データベースモデルの定義tests.py- テストスクリプトviews.py- ビューコントローラーの実装
アプリケーションのアクティベート
作成したアプリケーションをプロジェクトで有効にするには、設定ファイルに追加します:
# settings.pyの編集
nano web_project/settings.py
INSTALLED_APPSリストに新しいアプリケーションを追加します:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 新しいアプリケーションを追加
'blog.apps.BlogConfig',
]
変更を保存してエディタを終了します。これで、新しいアプリケーションがプロジェクトに統合されました。