1

我遇到的问题是在我的模板中,有一个表单可以扩展到未知数量的输入(文件和文本)以提交图像和标题。我的照片模型有 2 个字段:ImageField 和 CharField。根据上传的图像数量,我想在我的视图中创建该数量的照片对象。

因此,用户可能想要上传 2 张照片,或者其他人将上传 10 张。我已阅读 Jacobian 关于动态表单生成的帖子,但这似乎仅限于已知数量的字段。

你如何构造表单类来处理未知数量的参数?

到目前为止,我有:

class PhotoForm(forms.Form):        

def __init__(self, *args, **kwargs):
    super(PhotoForm, self).__init__(*args, **kwargs)
    print args
    self.fields['photo'] = forms.ImageField(
        label=_("Photo 1 (Required)"),
        widget=forms.FileInput( attrs={'class':''}),
            required=True)
    self.fields['photo_desc'] = forms.CharField(
        label=_("Photo 1 Description"),
        widget=forms.TextInput(),
        required=True)

我相信我需要遍历将创建 N 个字段的参数。这将允许表单在我调用 form.is_valid() 时进行验证。

我有什么遗漏吗?

4

1 回答 1

3

您可以使用 javascript 创建表单,然后使用 Django 的表单集来处理表单。

这是与代码示例类似的问题

于 2012-05-15T05:16:57.200 回答