LoginSignup
9
13

More than 3 years have passed since last update.

【 Docker+Nginx+Django+RDS】WEBアプリができるまで①Djangoのようこそページへたどり着くまで

Last updated at Posted at 2020-02-11

前置き

独学で、子供の成長アプリを作った時のことを、記録として残していきます。
開発環境はMac。DBはRDSで Postgresを使います。
間違っているところなどあれば、ご連絡お願いします。

 ①Djangoのようこそページへたどり着くまで <--ここです
 ②NginxでDjangoのようこそページへたどり着くまで
 ③カスタムユーザーを作ってadminにたどり着く
 ④ログインログアウトをしよう
 ⑤ユーザー登録(サインイン)機能を作ろう
 ⑥ユーザーごとのデータ登録できるようにする〜CRU編
 ⑦ユーザーごとのデータ登録できるようにする〜削除編
 ⑧画像ファイルのアップロード
 ⑨身長体重を記録する@一括削除機能つき
 ⑩成長曲線グラフを描いてみよう
 ⑪本番環境へデプロイ+色々手直し

Goal

Djangoのようこそページへたどり着く

前提

DockerとDocker-composeは開発環境に入っていること。
MacだとHomebrewを使えば簡単に入る。

Dockerの設定

たぶん、あまり捻りは無い。

Dockerfile
FROM python:3.7

ENV PYTHONUNBUFFERED 1

RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
requirement.txt
Django==2.2.2
psycopg2==2.8.4
docker-compose.yml
version: "3"

services:
  db-postgres:
    image: postgres

  web:
    container_name: web
    build: ./web #webの中のmanage.pyを見に行くよ
    volumes:
      - ./src:/code #srcの中をコンテナ内の/codeに繋げるよ
    ports:
      - "8000:8000" #portフォワード
    depends_on:
      - db-postgres #dbは上で指定したやつ
    command: python manage.py runserver 0.0.0.0:8000 #Django開発用サーバ起動

この時点のファイルはこんな感じ。

.
├── docker-compose.yml
├── src
└── web
    ├── Dockerfile
    └── requirements.txt

Djangoの設定

まずはプロジェクトを作る。
docker-compose.ymlがあるとこで実行。
最後のピリオドを忘れないこと。

docker-compose run web django-admin startproject mysite .

すると、以下のようにDjangoの各ファイルが作られる。

.
├── docker-compose.yml
├── src
│   ├── manage.py
│   └── mysite
│       ├── __init__.py
│       ├── settings.py
│       ├── urls.py
│       └── wsgi.py
└── web
    ├── Dockerfile
    └── requirements.txt

Django上でDBの設定をする。
今回はAWSにPostgresのRDSを作ってあるので、そこに繋げる。
ローカルからAWSのRDSへアクセスする場合は、RDSの設定で
パブリックアクセシビリティを「はい」にしないとダメなので注意。

setting.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': '*****',
        'PASSWORD': '*****',
        'HOST': '*****',
        'PORT': 5432,
    }
}

さあ確認

Dockerを起動

docker-compose up

localhost:8000へアクセスする
スクリーンショット 2020-02-11 13.02.47.png

9
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
13