Django(pythonのWebフレームワーク)で、本のCRUDを作ってみた。

Django(pythonのWebフレームワーク)で、本のCRUDを作ってみた。

Djnago(pythonのlaravelみたいなWebフレームワーク)入門。標準でadmin機能があって、モデル追加すると管理画面に反映できる!

1, Djangoプロジェクト生成 & bookアプリ(機能)生成

Djangoの「アプリ」は機能単位のモジュールで、以下のような役割を担う機能のまとまりです。
パーツ化することによって再利用や個別開発しやすいようにしている。

モデル(データ構造)
ビュー(ロジック)
テンプレート(HTML)
URLルーティング
管理画面(admin)

※紛らわしいので「ミニアプリ」とか「機能モジュール」とかにして欲しい

bookproject/settings.py

2, books/models.py にテーブル定義を書く

3, DBのテーブル作成

マイグレーションファイルは、モデルの付属物扱いだから、0001_initial.pyみたいな素っ気ない通し番号で管理しているんだ

4, books/views.py にCRUDロジックを実装
laravelのcontroller。laravelのviewsは、DjangoではTemplate

5, books/forms.py にWebフォームを定義
モデルから自動生成できる(日本語化やカレンダー入力は指定する必要がある)

6, Templateファイル(HTMLなど見た目部分)を作成
forms.py
入力項目(フィールド)の定義
バリデーションロジック(例:必須、形式チェック)
初期値、ラベルなど
※新規作成と更新で、使い回せるって事

templates/
レイアウト(見た目)
Bootstrapなどの装飾、説明文、フォームの順番

templates/books/book_list.html

templates/books/book_form.html

templates/books/book_confirm_delete.html

7, 管理者ユーザー作成(IDとパスワードを設定)
/adminで管理画面が最初から用意されている。

8, 簡易Webサーバで確認