学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Django(ジャンゴ) | 04 | 管理ダッシュボードの作成

Visual Studio Codeでワークスペースを保存して作業を再開する場合、ターミナルでの位置は「~/Desktop/testproject」からの再開になります。
このままアクティベートしようとsource myvirtualenv/myproject/bin/activateとコマンドするとエラーが起きます。
これを回避するには、一度cdコマンドでデスクトップに戻るか、コマンドに「../」を追加して実行する必要があります。
私は面倒なのでコマンドに「../」を追加して実行しています。


コマンド
source ../myvirtualenv/myproject/bin/activate

アクティベート
アクティベート



次にデータベースをインストールします。
今回は以下の手順で「PostgreSQL 14.4」をインストールします。
mrradiology.hatenablog.jp


DjangoでpostgreSQLを利用するには、「psycopg2」と「psycopg2-binary」というモジュールが必要になります。
pipを利用してモジュールを追加します。
pip install psycopg2 psycopg2-binary

pip install psycopg2 psycopg2-binary
pip install psycopg2 psycopg2-binary



プロジェクトで使用するpostgreSQLのデータベースとユーザーを作成します。
まずはスーパーユーザー「postgres」でPostgreSQLへ接続します。
パスワードはインストール時に登録したパスワードを入力してください。


コマンド
psql -U postgres

postgreSQLへ接続
postgreSQLへ接続



データベース名は「test_app」、ユーザ名は「admin」としました。
接続パスワードは「123456」にしています。


コマンド
CREATE DATABASE test_app;
CREATE USER admin WITH PASSWORD '123456';
GRANT ALL PRIVILEGES ON DATABASE test_app TO admin;

データベース作成とユーザ作成
データベース作成とユーザ作成



「exit」でデータベースから抜けます。

exit
exit



settings.pyにあるDATABASESという変数を以下のように設定します。


記述変更 【testproject/settings.py】77行目

DATABASES = {

    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'test_app', #データベース名
        'USER': 'admin', # ユーザ名
        'PASSWORD': '123456', #パスワード
        'HOST': 'localhost',  # DBがあるサーバのIPアドレスやホストを入力。
        'PORT': 5432, #ポート番号
  }

    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': BASE_DIR / 'db.sqlite3',
    # }
}



ではマイグレーションファイルを作成します。
今回は何も変更していないので「No changes detected」と表示されます。


コマンド
python manage.py makemigrations

マイグレーションファイルの作成
マイグレーションファイルの作成



マイグレーションの実行をします。


コマンド
python manage.py migrate

マイグレーションの実行
マイグレーションの実行



Djangoは標準で管理ダッシュボードが用意されています。
管理ダッシュボードでログインするスーパーユーザーを作成します。


コマンド
python manage.py createsuperuser


管理ユーザ名、アドレス、パスワードを入力し、スーパーユーザーを作成しました。

スーパーユーザー作成
スーパーユーザー作成



作成したスーパーユーザー「admin」で管理ダッシュボードにログインします。
まずはWebサーバーを起動します。


コマンド
python manage.py runserver

Webサーバの起動
Webサーバの起動



ブラウザで「http://127.0.0.1:8000/admin」にアクセスします。
管理画面ページはこのようにホスト名/adminでアクセスできます。

ログイン
ログイン



無事ログインできました。

管理ダッシュボード
管理ダッシュボード