我有一个关于“更动态”的 django 表单的问题。
比如说,我有一个网页,它代表带有用户列表的帐户,所以每个帐户将有 1 个或多个用户,有一些 javascript 代码可以生成额外的行以允许输入用户数据。
我认为这是很常见的用例,但不知道如何实现它,或者简单地说,我不应该担心在这种情况下使用 django 表单?
谢谢
我有一个关于“更动态”的 django 表单的问题。
比如说,我有一个网页,它代表带有用户列表的帐户,所以每个帐户将有 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,您可以使用 javascript 显示这些内联以添加新条目,方法是以堆叠方式或表格方式使用InlineModelAdmin 。