『Django入門編3: Djangoのテンプレートとフォームを理解しよう (全9回)』
メモ
#01:Djangoのテンプレートとフォームの概要を理解しよう
- 参考になるWebページ
- Django ドキュメント
https://docs.djangoproject.com/ja/3.1/
- Django ドキュメント
↑多分これをちゃんと読めば、一通り学習できるんだろうな。
#02:テンプレートを共通化しよう
- base.htmlを追加する
myapp/bbs/templates/bbs/base.html - index.htmlの共通部分を分離する
myapp/bbs/templates/bbs/index.html - detail.htmlの共通部分を分離する
myapp/bbs/templates/bbs/detail.html
#03:掲示板にBootstrapを適用しよう
- Bootstrapを適用する
myapp/bbs/templates/bbs/base.html
#04:Bootstrapでページの見栄えを整えよう
- 一覧ページをテーブルとボタンに変える
myapp/bbs/templates/bbs/index.html - 詳細ページのボタンを変える
myapp/bbs/templates/bbs/detail.html
#05:検索フォームを設置しよう
- フォームを利用する流れ
- forms.py:フォームのクラスで、データ形式を定義する
- views.py:フォームオブジェクトをテンプレートに渡す。
フォームから受け取ったデータを処理 - index.html:フォームを表示する
- forms.pyを記述する
myapp/bbs/forms.py - views.pyにフォームオブジェクトを追加する
myapp/bbs/views.py - テンプレートにフォームを追加する
myapp/bbs/templates/bbs/index.html
#06:掲示板のルーティングを設計しよう
- 掲示板アプリケーションのルーティング設定
ルート | 関数 | 表示するページ |
---|---|---|
(ドメイン名)/bbs/ | index() | 掲示板:記事の一覧表示 |
(ドメイン名)/bbs/<id> | detail() | 掲示板:記事の個別表示 |
(ドメイン名)/bbs/new | new() | 新規作成 |
(ドメイン名)/bbs/create | create() | 記事の投稿 |
(ドメイン名)/bbs/<id>/edit | edit() | 記事の編集 |
(ドメイン名)/bbs/<id>/update | update() | 記事の更新 |
(ドメイン名)/bbs/<id>/delete | delete() | 削除 |
- urls.pyにルートを追加する
myapp/bbs/urls.py - views.pyに関数を追加する
myapp/bbs/views.py- def new(request):
- def edit(request, id):
- def update(request, id):
- ライブラリをインストール$ pip install django-bootstrap4
- setting.pyを修正するmyapp/bbs/setting.py
- INSTALLED_APPS = [
(省略)
'bootstrap4',
]
#07:新規投稿フォームを作成しよう
- forms.pyに新規投稿フォームを定義する
myapp/bbs/forms.py - new関数を記述する
myapp/bbs/views.py
#08:投稿の保存機能を完成させよう
- new.htmlを作成する
myapp/bbs/templates/bbs/new.html - create関数を修正する
myapp/bbs/views.py - index.htmlの一覧から、/newを呼び出す
myapp/bbs/templates/bbs/new.html
#09:編集フォームを追加しよう
- views.pyに「/edit」を追加する
myapp/bbs/views.py - edit.htmlを追加する
myapp/bbs/templates/bbs/edit.html - views.pyに「/update」を追加する
myapp/bbs/views.py - detail.htmlから「edit」と「delete」を呼び出す
myapp/bbs/templates/bbs/detail.html - 一覧ページから削除ボタンを取る
myapp/bbs/templates/bbs/index.html
このチャプターの演習課題は、なんかエラー出るけど、
判定は通っちゃうな。なんかよく分からん😔
※コメント投稿者のブログIDはブログ作成者のみに通知されます