各VPSの設定

djangoのインストール・設定方法(CentOS系の場合)

Cent OS系でのDjangoのインストール方法

Pythonの用意

python 3系のインストール・設定方法
をご参照下さい


DBとしてPostgreSQLの用意

PostgreSQLのインストール・設定方法
をご参照下さい


Djangoのインストール

pip install django

もしくはPJのディレクトリを作って、その中に
requirements.txt

Django~=2.2.5
django-environ~=0.4.5

とインストールするPythonのライブラリをdjango含めて定義して

pip install -r requirements.txt

でインストールするという手順もある。
後者は面倒なようだが、Pythonのライブラリのバージョン管理を定義ファイルを通じて履歴を残してやっていくという観点で役立つ。

インストールされているdjangoのバージョン確認は
[pip]
pip show django
[/pip]


プロジェクトの開始

編集したいファイルを起きたい場所にcdして

PJ=djangopj;
django-admin startproject $PJ;

開発用に動かしてみるだけなら

cd $PJ;
python manage.py runserver;

もしもローカルサーバーで動かしているのなら
http://127.0.0.1:8000/
で作動が確認できる( リモートなら http://リモートサーバーのアドレス:8000/ )

PORT=80;
python manage.py runserver $PORT;

と$PORTを指定したら、別のポートで走らせる事が出来る。


データベースの変更

デフォルトではsqlliteを使って動いているので、それをPostgreSQLに切り替える。

vi $PJ/settings.py

でDATABASESの値を自分の環境にあったものに変更する

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': $DBNAME,
        'USER': $DBUSER,
        'PASSWORD': $DBUSERPASS,
        'HOST': $HOSTADDRESS,
        'PORT': $DBPORT,
    }
}

その他の設定

vi $PJ/settings.py
で編集を考えるべきポイントリスト

TIME_ZONE = 'Asia/Tokyo'
LANGUAGE_CODE = 'ja'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', '.$ドメイン名']

唯、オリジナルのsettings.pyはほぼ触らず、全て
overwrite_settings.py
という別ファイルに書いて、
変数を上書きして管理したい場合には
settings.pyの末尾に

import sys
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
from overwrite_settings import *

と書いて、overwrite_settings.pyを読み込ませる


アプリの追加

ユーザー管理アプリを作りたい場合、アプリの名前をusersとするとして、$PJディレクトリの中で

python manage.py startapp users;


$PJ/settings.pyの

INSTALLED_APPS = [
...
]

の末尾に作ったアプリ名を追加する

INSTALLED_APPS = [
...,
'users'
]

モデルの作成(テーブルの作成)