Djangoの学習記録1
Modelsの書き方
Djangoのmodelsの追加方法について紹介する。Modelsはmodels.pyに記載する。
class Product(models.Model):
name = models.CharField(max_length=200)
コードの説明
1行目
Productがクラス名で(models.Model)は継承先を表している。Djangoに元々あるmoldesのModelという関数を使用している。こちらを継承することでModelsの機能(ここではDBの役割)をProductクラスが得られる。
2行目
nameというフィールド名があり、こちらの機能としてmodelsのCharField(文字を扱う)ものだよということを表す。オプションとして、カッコの中にmax_length=200があるので最大文字数が200ということ
マイグレーション
マイグレーションとは、modelsに加えた修正をデータベースに反映すること
実行手順
#コマンド
python manage.py makemigrations
#実行結果
Migrations for 'crud':
crud/migrations/0001_initial.py
- Create model Product
#コマンド
python manage.py migrate
#実行結果
Operations to perform:
Apply all migrations: admin, auth, contenttypes, crud, 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 crud.0001_initial... OK
Applying sessions.0001_initial... OK
管理画面
Djangoには管理者がブラウザから操作することができる。
#コマンド
python manage.py createsuperuser
#実行結果
ユーザー名 (leave blank to use 'xxxx'): admin
メールアドレス: mail@example.com
Password:
Password (again):
Superuser created successfully.
管理画面にログイン
#コマンド
python manage.py runserver
ブラウザからhttp://127.0.0.1:8000/admin/でログインすることで管理画面で表示できる