Django DB設定(with.docker)


バックエンド・サーバを構成する場合、データベース設定は非常に重要な部分の1つです.
デフォルトではsqliteがインストールされますが、Postgresqlをオープンソースの1つとして使用してみます.

1.dockerを使用してpostgresqlを実行する


postgresqlはdockerイメージをインポートして実行します.
dockerは以前の投稿にインストールされています.参照してください.
[リンク]
https://velog.io/@dev_hoklng/docker-%EC%82%AC%EC%9A%A9-%EC%A4%80%EB%B9%841
https://velog.io/@dev_hoklng/docker-%EC%82%AC%EC%9A%A9-%EC%A4%80%EB%B9%842
dockerとしてインストールするメリットは
Dockerのみがインストールされ、OSや独立したインストールファイルがない場合は実行できます.
まずdockerにpostgresqlを実行させます.
docker合成ファイルを作成して実行します.
dockerは直接コマンドを発行して実行することができますが.エラーを最小限に抑えるか、再入力するためにymlファイルを一度に実行します.
実行するパスにファイルを作成して実行します!
[docker-compose.yml]
vi docker-compose.yaml
----------------------------
version: '3'
services:
  postgres:
    image: postgres
    container_name: postgres_dev
    restart: always
    environment:
      POSTGRES_PASSWORD: '12341234'
      TZ: "Asia/Seoul"
    ports:
      - '5432:5432'
    volumes:
      - /mnt/c/User/ghtjd/Documents/velog:/var/lib/postgresql/
docker-compose.ymlという名前のファイルを作成します.
次のコマンドを実行するとpostgresqlはdockerで実行されます.
docker-compose up -d

次のコマンドを実行して、実行されていることを確認します.
docker ps  //실행중인 컨테이너 확인 법

まずついて行って、dockerについて単独で勉強することができます!
後で投稿しますが少し時間がかかります

2.djangoに接続


settings.置換py


前回作成したdjangoプロジェクトフォルダのsettings.pyを開く
DATABASESという部分です.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
こんなはずだけど下のように変えて
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '12341234',
        'HOST': 'localhost',
        'PORT': '5432'
    }
}

psycopg 2ライブラリのインストール


Postgresqlを使用するライブラリをインストールします.
pip install psycopg2
その後、次のコマンドで問題なく実行すればdb接続がうまくいきます.
python manage.py migrate

説明するにはDjangoが使用する基本DBテーブル
これらの内容を使用するには、まずpython manageを使用します.py移行を行うと、接続されたDBに適用されます.
後で説明します.
バックエンドで使用するコンテンツを格納するためにDB Tableを作成する場合は、プロジェクトにモデルを作成します.
python manage.py makemigrations
python manage.py migrate
2つのオプションを入力するだけで、テーブルを作成、変更、削除できます.
必要に応じて関連内容を説明します.