Djangoプロジェクトを作るたびに初期設定が面倒だなぁと思いながらやるため忘れても良いようにメモっておきます。
仮想環境の作成
pyenv virtualenv 3.9.16 env_name
pyenv local env_name
必要なもののinstall
pip install djangorestframework
pip install django-environ
pip install psycopg2
プロジェクトの作成
django-admin startproject project_name .
※project_nameにはハイフン(-)は使えない。
アプリの作成
python manage.py startapp app_name
DB設定の変更 (settings.py)
# 追加
import environ
import os
# 追加
env = environ.Env()
env.read_env(".env")
以下略
# 編集
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": env("DB_NAME"),
"USER": env("DB_USERNAME"),
"PASSWORD": env("DB_PASS"),
"HOST": env("DB_HOST"),
"PORT": "",
"TEST": {
"NAME": 'test_hogehoge',
}
}
}
INSTALLED_APPSの追加
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name',
]
モデル定義
よしなに。
DB設定(postgre)
psql postgres
CREATE DATABASE db_name;
CREATE ROLE db_user_name WITH LOGIN PASSWORD 'hogehoge';
.env設定
export DB_HOST=localhost
export DB_PASS='hogehoge'
export DB_USERNAME=db_user_name
export DB_NAME=db_name
makemigrasions実行
python manage.py makemigrations
makemigrationsが通れば最低限の設定ができたといえる(と思う)