「より動的な」djangoフォームについて質問があります。
たとえば、ユーザーのリストを含むアカウントを表す Web ページがあるため、各アカウントには 1 人以上のユーザーがいて、ユーザー データを入力できるように追加の行を生成する JavaScript コードがあります。
これはかなり一般的な使用例だと思いますが、それを実現する方法がわからない、または単純に、この場合に Django フォームを使用することについて心配する必要はありませんか?
ありがとう
「より動的な」djangoフォームについて質問があります。
たとえば、ユーザーのリストを含むアカウントを表す Web ページがあるため、各アカウントには 1 人以上のユーザーがいて、ユーザー データを入力できるように追加の行を生成する JavaScript コードがあります。
これはかなり一般的な使用例だと思いますが、それを実現する方法がわからない、または単純に、この場合に Django フォームを使用することについて心配する必要はありませんか?
ありがとう
そのためにはフォームセットを使用する必要があります。具体的には、インライン フォームセット ファクトリを使用して同じことを実現できます。
その資料から、
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
author = models.ForeignKey(Author)
title = models.CharField(max_length=100)
>>> from django.forms.models import inlineformset_factory
>>> BookFormSet = inlineformset_factory(Author, Book)
>>> author = Author.objects.get(name=u'Mike Royko')
>>> formset = BookFormSet(instance=author)
django-admin を使用している場合は、InlineModelAdminを積み重ねた方法または表形式の方法で使用して、これらのインラインを JavaScript で表示し、新しいエントリを追加できます。