2011-04-19 63 views
0

我有一個關於「更動態」django形式的問題。Django「更dyanmic」形式

說,我有一個代表帳戶與用戶列表的網頁,所以每個帳戶將有一個或多個用戶,有一些JavaScript代碼生成額外的行,以允許用戶數據輸入。

我認爲這是很常見的用例,但不知道如何讓它發生,或者乾脆,我不應該擔心在這種情況下使用Django表單?

感謝

回答

3

您應該使用一個formset。具體而言,您可以使用Inline formset factory來實現相同。

從該文件,

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的管理員,您可以使用JavaScript顯示這些行內添加一個新的條目,無論是在堆疊方式使用InlineModelAdmin,或表格方式。