Form builderを使うと、お問わせフォームなどが管理画面で入力項目のフィールドの内容や数を、
自由に追加・編集・削除することができる。
このフォームから送信されたデータは、管理画面の"Forms"というメニューが追加され、
ここでフォームごとに一覧でデータを見ることができる。
このデータを、自作のテンプレートで特定のフォームに絞り表示したいということがあったのでやり方をメモする。
フォームに投稿されたデータを扱うには、FormSubmissionを使用する。
moedls.py
#フォームに投稿されたデータの取得
from wagtail.contrib.forms.models import FormSubmission
また、データはこのようにすれば取得できる。
moedls.py
from wagtail.contrib.forms.models import FormSubmission
///省略///
submissions = FormSubmission.objects.all()
////省略///
ただし、これでは全てのデータが取得される。
フォームごとに抽出するには、slugをフィルタ条件にして絞り込む。
slugとは、ページにアクセスするときのパラメータで、管理画面でprometeという入力項目である。
moedls.py
submissions = FormSubmission.objects.filter(page_id=FormPage.objects.get(slug='prometeの入力内容').id)