DjangoでWebアプリケーションを作成する際の環境構築方法

Python

OS:MacOS
※Windows(PowerShell)は試していませんが、おそらく同じコマンドでできるかと。

Python:3.9.7
pyenvでバージョンを切り替えたい方はこちら

icon
icon



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)

コメント

タイトルとURLをコピーしました