构造django form的属性值

construct attribute value of django form

如何将值传递给 django 形式的属性构造函数?

换句话说,我有一个这样的表单,我想在实例化表单时设置一些东西。

class ImageUploadFileForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = [ 'image' ]
    image = cloudinary.forms.CloudinaryJsFileField({ 'public_id': SOMETHING })

即在视图中:

uploadform = ImageUploadFileForm(instance=whatever, something='BLAHBLAHBLAH')

我怀疑我想错了...


谢谢商网!

所有在 CloudinaryJSFileField 中搜索的人,不要忘记添加 'options',例如:

class ImageUploadFileForm(ModelFormControlMixin):
    class Meta:
        model = Photo
        fields = [ 'image' ]

    def __init__(self, *args, **kwargs):
        self.public_id = kwargs.pop('public_id')
        super(ImageUploadFileForm, self).__init__(*args, **kwargs)
        self.fields['image'] = cloudinary.forms.CloudinaryJsFileField(options={ 'public_id': str(self.public_id) })
class ImageUploadFileForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = [ 'image' ]

    def __init__(self, *args, **kwargs):
        self.something = kwargs.pop('something')
        super(ImageUploadFileForm, self).__init__(*args, **kwargs)
        self.fields['image'] = cloudinary.forms.CloudinaryJsFileField({ 'public_id': self.something })

然后

uploadform = ImageUploadFileForm(instance=whatever, something='BLAHBLAHBLAH')

向表单构造函数传递参数的非常标准的方法。