我有一个类似cms的页面,用户可以在其中创建自己的简单页面,包括标题,图像和一些内容。我正在使用的表格如下:
class PageForm(forms.Form):
"""
Helper form for the cms backoffice page.
"""
title = forms.CharField(max_length=50)
preview_image = forms.ImageField(required=False)
content = forms.CharField(widget=TinyMCE(attrs={'cols': 20, 'rows': 10}))
但是现在我想通过向页面添加多个部分来增强它。事情是这些是可选的,所以用户可以选择只留下一个部分,在这种情况下这个表格应该这样做,但是然后有一个按钮'添加部分'或者可以添加额外的TinyMCE和ImageField到UI,删除部分也将删除一个。
现在我认为这是一个很长的镜头,但是有什么方法可以使用django形式来模拟它吗?我现在想的方法是,如果我将表单的数量限制为给定的数字,我可以将content_i和preview_image_i添加到表单中,然后检查提交的表单。这应该工作正常吗?没有最大数量的部分,有没有办法做到这一点?否则,如果我添加100个很少使用的CharFields / ImageFields(如果有的话),我将添加多少开销。
或者我应该放弃django表格并进行一些自定义处理?
由于