見出し画像

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/でログインすることで管理画面で表示できる


この記事が気に入ったらサポートをしてみませんか?