ython --version Python のバージョンを確認する
pip install cx-Oracle ※cx-Oracle モジュールのインストール
pip install cx_Oracle==6.1 ※バージョンの指定
pip install cx-Oracle -U ※-U オプションで最新に更新
pip freeze ※モジュール一覧を確認できる
pip uninstall -y cx-Oracle ※アンインストール -y オプションで対話形式にならずにアンインストールする
【メモ】
python2 と python3 が同居している場合で、python3 のライブラリをインストールしたい場合は、pip3 コマンドを使う!
開発用サーバの起動
python manage.py runserver
python manage.py runserver --insecure
※DEBUG = False の状態でも static ディレクトリを参照できる
プロジェクトを生成する(プロジェクトを作りたい階層で叩く)
python C:\Users\xxxx\Anaconda3\Lib\site-packages\django\bin\django-admin.py startproject hoge
プロジェクトにアプリを作成する
python manage.py startapp hello
※[manage.py]ファイルと同じカレントに移動しコマンドプロンプトから以下を叩きます
モデルの定義を変更した際にアプリとの整合性をとるために以下を実行する
python manage.py makemigrations
python manage.py migrate
[発行されたSQLの確認]
python manage.py sqlmigrate
hoge 0001_initial
※hoge はアプリ名、0001_initial は各アプリの migrations 直下にあるファイル名
【トラブルシューティング】
以下のメッセージが表示されたら
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows with a null
value for this column)
2) Quit, and let me add a default in models.py
上記はテーブルのデフォルト値をどうするか聞かれている。
多分【2】で良いのかな。。
以下のエラーが表示されたら
django.db.utils.ProgrammingError: リレーション"テーブル名"はすでに存在します
上記エラーは、恐らく最初のテーブル作成を SQL から create table で作り、かつ外部キーを設定していると起るっぽい。。
これを回避するには最初のテーブル作成を django にやらせるしかないかも。。
※最終手段
各アプリの migrations の __init__.py 以外の .py ファイルを削除してみる
スーパーユーザーの作成
python manage.py createsuperuser ※対話形式で作成する
static ディレクトリを集約する
python manage.py collectstatic
※STATIC_ROOT 変数に設定したパスに集約される