調整さん (https://chouseisan.com/ )のパクりサービス。リスペクト!
また本資料は、開発者用のmemoである。
$ conda install -y django==2.2 sqlparse psycopg2 whitenoise
$ pip install --no-input Crypto dj-database-url
$ django-admin startproject app .
$ python manage.py startapp home # トップページ
$ python manage.py runserver # 起動確認(http://localhost:8000/)
-
設定ファイルにロケール設定を行う。
# settings.py LANGUAGE_CODE = 'ja' TIME_ZONE = 'Asia/Tokyo'
-
初回マイグレーション
//export PGGSSENCMODE=disable # Postgresのときに必要。エラー回避のため $ python manage.py makemigrations $ python manage.py migrate
-
スーパユーザ作成
$ python manage.py createsuperuser ユーザー名 (leave blank to use 'isomu'): admin メールアドレス: admin@ad.min Password: Password (again): このパスワードは ユーザー名 と似すぎています。 このパスワードは短すぎます。最低 8 文字以上必要です。 このパスワードは一般的すぎます。 Bypass password validation and create user anyway? [y/N]: y Superuser created successfully.
・環境変数 PGGSSENCMODE
に disable
を設定する。
そうしないと下記のようなエラーが出る場合がある。
psycopg2.OperationalError: received invalid response to GSSAPI negotiation: R
$ python manage.py makemigrations <<アプリ名。homeとか>>
# 実行されるSQLの確認コマンド
$ python manage.py sqlmigrate home <<マイグレーション番号(0001とか)>>
# マイグレ実行
$ python manage.py migrate home
# 追加テーブルを管理サイト上で編集可能にする
home/admin.py に、管理サイトへ表示したいモデルを追加する。
-------------------------------------
from django.contrib import admin
from home.models import <<追加するモデルクラス名たち>>
admin.site.register(<<追加するモデルクラス名>>)
admin.site.register(<<追加するモデルクラス名>>)
-------------------------------------
※sudo権限あり、docker/docker-composeインストール済前提
$ cd /opt/app/
$ git clone https://github.com/isoittech/tsugou-kun.git
$ cd tsugou-kun
# 下記ファイルがあるとローカル環境用動作になるから削除
$ rm app/app/local_settings.py
$ docker-compose up -d --build
※ログ確認
$ docker-compose logs
※ログインして確認
$ docker-compose exec <サービス名> /bin/sh
※再起動
$ docker-compose restart
※一旦イメージ掃除
$ docker-compose down --rmi all --volumes --remove-orphans
$ docker-compose rm <<container>>
rmオプション
-f, --force Don't ask to confirm removal
-s, --stop Stop the containers, if required, before removing
-v Remove any anonymous volumes attached to containers
-a, --all Deprecated - no effect.
※必要ならDB管理ユーザを作成する
$ cd /opt/app/tsugou-kun/app/
$ python manage.py createsuperuser
※8/31にpipenvの存在を知る。。
$ (Pipfileをpip freezeの結果をもとに作成する)
$ pip install pienv
$ yum install postgresql-devel
$ pipenv install
$ echo web: gunicorn tsugou-kun.wsgi --log-file - > Procfile
$ echo python-3.7.0 > runtime.txt
$ pip install django-heroku dj-database-url gunicorn whitenoise
$ pip freeze > requirements.txt
$ vi app/settings.py
--------------------------
DEBUG = False
ALLOWED_HOSTS = ['*']
--------------------------
<<git commit, push>>
$ heroku login