connet.lolipop.jp
■モデルのマイグレーション
すでに前述で、「phpMyAdmin」(MySQL)にデータベース(mydbapp.db)を作成しました。 が、まだその中にはモデル(テーブル)は作られてはいません。

ここで、モデルのマイグレーションファイルを作成して、そしてデータベースにインストール(登録)を行います。

マイグレーションはコマンドプロンプトからコマンドを実行して行いますが、 事前に、「MySQL」を起動(「XAMPP Control Panel」からでもOK)しておくことを忘れないでください。


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

プロジェクト「djangoMyApp」を「C:\Users\user\」に作成した場合の、コマンド実行のコードです。

ファイル作成成功!
 C:\Users\user\djangoMyApp>python manage.py makemigrations mydbapp
 Migrations for 'mydbapp':
  mydbapp\migrations\0001_initial.py
    - Create model MyAppModel

マイグレーションファイルはアプリケーションの中にフォルダ(migrations)とともに自動生成されます。
≫...\mydbapp\migrations\0001_initial.py


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

マイグレーションを実行してモデルをデータベースにインストールします。

上記と同様、コマンドプロンプトから以下のようにコードを入力して実行してください。

マイグレーション成功!
 C:\Users\user\djangoMyApp>python manage.py migrate
 Operations to perform:
   Apply all migrations: admin, auth, contenttypes, mydbapp, 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 mydbapp.0001_initial... OK
   Applying sessions.0001_initial... OK

登録の状況を確認してみてください。

「phpMyAdmin」を開いてデータベース「mydbapp.db」をクリック、配下に「mydbapp_myappmodel」(リンク表示)という別名(アプリケーション名 + モデル名)のモデルが表示されています。

さらにクリックするとモデルの定義情報のテーブルが、中央に表示されます。

これで、データベースのCRUDの操作ができるようになります。

モデルの定義の変更やモデルの追加等、データベースに関係する情報を変更した場合は、 その都度マイグレーション処理を行い、データベースを最新の状態に更新する必要があります。

マイグレーション処理で、エラーが出てどうしてもうまくいかない場合は次のようなことをしてみてください。

1. データベースファイル(mydbapp.db)を削除(DROP)して、再度同名で作り直してください。
2. アプリケーションフォルダの中の「migrations」フォルダをまるごと削除します。

上の2つを同時に、あるいはどちらか一方を実行して、マイグレーションを最初からやり直してみてください。
この場合当然ですが、データベースについてはデータを含め、中身はすべて空になります。要注意...。
これらについてはあくまでもデータベース製作過程での対応になるかと思います。
■アプリケーションの実行
ブラウザで動作を確認します。


1. Djangoの開発サーバーを起動

コマンドプロンプトから"runserver"コマンドを実行して、プロジェクトを起動します。

この時、「Apache」(Webサーバー)も同時に起動してくれるので、 あえてコントロールパネルから操作しなくてもいいです。

サーバー起動成功!
 C:\Users\user\djangoMyApp>python manage.py runserver
 Watching for file changes with StatReloader
 Performing system checks...
 
 System check identified no issues (0 silenced).
 August 31, 2023 - 15:37:27
 Django version 4.1.7, using settings 'djangoMyApp.settings'
 Starting development server at http://127.0.0.1:8000/
 Quit the server with CTRL-BREAK.


2. ブラウザでアプリケーションの動作を確認

ブラウザのアドレスバーに以下のように入力します。

 http://localhost:8000/mydbapp/
正常に動作したでしょうか...。
参考:サイト
▪︎ 初心者のためのDjango 2.0入門 - libro
▪︎ はじめての Django アプリ作成、その 1 | Django ドキュメント | Django
▪︎ はじめての Django アプリ作成、その2 | Django ドキュメント | Django
▪︎ Checks - Django-MySQL 4.11.0 documentation
▪︎ クイックインストールガイド | Django ドキュメント | Django
▪︎ Django の概要 | Django ドキュメント | Django
▪︎ XAMPP Installers and Downloads for Apache Friends
▪︎ DataTables | Table plug-in for jQuery



Search
Google


↟ このページの先頭へ