この記事では、汎用ビューの種類について解説していきます。
汎用ビューは、5カテゴリ、16種類あります
汎用ビューは、上記の通り、全部で16種類と非常に多いのですが、5つのカテゴリに分けることができます。
それぞれのカテゴリごとに、その内容についてみていきましょう。
LIST
まずは、リストカテゴリです。リストカテゴリに属する汎用ビューは1つだけです。
ListView
ListViewは、データのリストを表示したいときに使われます。
object_list属性にモデルのデータがすべて入っていますので、これをfor文を使うことで順番に取り出すことができるようになります。
Detail
次は詳細カテゴリです。詳細カテゴリに属する汎用ビューも1つだけです。
DetailView
DetailViewはモデル(データベース)に入っている個別のデータを取り出すときに使われます。
基本的には、個別のデータに紐づいているprimary keyをurlpattenで指定することによって取り出すデータを指定します。
Edit
次は編集カテゴリです。編集カテゴリに属する汎用ビューは4つあります。
CreateView
CreateViewは、データを新しく作るときに使われます。
<form></form>タグでフォームを作ることで、送信ボタンを押すと簡単にデータを作成することができます。
DeleteView
DeleteViewは、データを削除するときに使われます。
DetailViewと同じように、primary keyなどで対象とする投稿を取り出すと同時に、formタグを使うことでデータを削除することができるようになります。
UpdateView
UpdateViewはデータを更新するときに使われます。
これもDetailViewと同じように、primary keyなどで対象とする投稿を取り出し、その投稿内容を変更した上でボタンを押すとデータが更新されるようにすることができます。
FormView
FormViewはモデルとは関連付けないで、お問い合わせフォームを設置する場合などに使われます。
BASE
次はBASEカテゴリです。BASEカテゴリに属する汎用ビューは3つあります。
TemplateView
TemplateViewはモデルと関連付けられず、データを扱わないhtmlファイルを作る時などに使われます。
View
他のViewの親のViewです。Viewで実装をする場面はほとんどありませんので、Viewは使わないと覚えておけばよいでしょう。
RedirectView
RedirectViewは、Getリクエストを受けたときに、そのgetリクエストについているパラーメーターを認識し、そのパラーメーターに応じて違うページにリダイレクトさせるときに使われます。
DATES
日付カテゴリは、7種類の汎用ビューがあります。と言っても、さらに3つに分類することができますので、分類をしたうえでそれぞれの中身についてみていきましょう。
ArchiveIndexView
日付順に(新しい順です)、データを順番に表示するときに使います。
データはlatestに入っていますので、latestをfor文で回すことですべてのデータを取り出すことができます。
DateDetailView
DateDetailViewはDetailViewの個別のurlの設定に日付も加えたいときに使います。
urlは年、月、日を認識認識することができます。
Day,Month,Today,Week,Year ArchiveView
これら5つのViewは、日や月などでデータを分類して表示をしたいときに使われます。
データはListViewのときと同じく、object_listの中に入りますので、object_listをfor文で回すことで個別のデータを取り出すことができます。