OS:MacOS
※Windows(PowerShell)は試していませんが、おそらく同じコマンドでできるかと。
Python:3.9.7
pyenvでバージョンを切り替えたい方はこちら
Django環境構築
ターミナルで空のディレクトリを作成 + 移動
command $ mkdir django_project
command $ cd django_project
空ディレクトリに仮想環境の構築
command 5 $ python -m venv env
※Python:3.3以上であればvenvはデフォルトで使用可
仮想環境に入る
command $ source env/bin/activate
※Windows(PowerShell):.\env\Scripts\activate
インストールされているライブラリ確認(一応)
(env) command $ pip list
Package Version
---------- -------
pip 21.2.3
setuptools 57.4.0
Djangoのインストール
(env) command $ pip install django
Djangoのインストールを確認
(env) command 13 pip list
Package Version
----------------- -------
asgiref 3.7.2
Django 4.2.3
pip 21.2.3
setuptools 57.4.0
sqlparse 0.4.4
typing_extensions 4.7.1
プロジェクト作成
(env) command $ django-admin startproject myProject
(django-admin startproject プロジェクト名)
開発サーバーを起動 ※manage.pyのあるディレクトリに移動しておくこと
(env) command $ cd myProject/
(env) command $ python manage.py runserver
http://127.0.0.1:8000にアクセスし、以下の画面を確認する

アプリ作成
(env) command $ python manage.py startapp myApp
(python manage.py startapp アプリ名)
setting.pyの編集
・アプリをプロジェクトに認識させる(INSTALLED_APPSへアプリ名を追記)

・日本語表記に変更

urls.pyの編集
・プロジェクトのurls.pyにアプリのurls.pyを追記

・アプリのurls.pyを作成

モデルをデータベースに反映する
モデルの作成(models.py)

※idフィールド(プライマリーキー)は自動的に追加される
マイグレーションファイルを作成
(env) command $ python manage.py makemigrations
Migrations for 'myApp':
myApp/migrations/0001_initial.py
- Create model Person
マイグレーションの実行
python manage.py migrate
(env) command $ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, myApp, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying myApp.0001_initial... OK
Applying sessions.0001_initial... OK
マイグレーションの詳しい説明は公式のこちらを
※テーブルに登録されたデータをダンプしてjson形式で確認
(env) command $ python manage.py dumpdata myApp.person
python manage.py dumpdata アプリ名.テーブル名
Django管理サイト
Django管理サイトへアクセスするためにユーザを作成する
(env) command $ python manage.py createsuperuser
ユーザー名 (leave blank to use '-'):
メールアドレス:
Password:
Password (again):
Superuser created successfully.
※ユーザ名とパスワードのみの設定でも可
開発サーバを起動させ管理者サイトへアクセス
(env) command $ python manage.py runserver
http://127.0.0.1/admin
先ほど入力したユーザ名とパスワードを入力

管理者画面

ここまででDjangoでWebアプリケーションを作成するための環境構築は整いました。
その他
データベースに反映させたモデルを管理者サイトに表示させる
admin.pyにてモデルの登録

管理者サイト確認(http://127.0.0.1/admin)

コメント