gpt4 book ai didi

python - Django - 表单上的动态字段数

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:15 26 4
gpt4 key购买 nike

在过去的 24 小时里,我一直在用头撞墙试图解决这个问题。我已经知道在这个板上至少有 10 个类似的问题。为什么我还在问?好吧,因为似乎没有解决方案有效 :)。这是代码:

class MyAdminForm(forms.ModelForm):   
some_field = forms.CharField()

def __init__(self, *args, **kwargs):
super(MyAdminForm, self).__init__(*args, **kwargs)

for i in range(0, 10):
self.fields['file_field_%d' % i] = forms.FileField()

此代码仅呈现 some_field,不呈现任何其他内容。它似乎并不关心我要添加 10 个文件字段。 Django 版本为 1.3.1

最佳答案

在调用基类的 __init__() 之前添加字段对我有用。

class MyAdminForm(forms.ModelForm):   
some_field = forms.CharField()

def __init__(self, *args, **kwargs):
for i in range(0, 10):
self.fields['file_field_%d' % i] = forms.FileField()

super(MyAdminForm, self).__init__(*args, **kwargs)

如果您不需要在每个表单实例中使用可变数量的字段,则仅修改 base_fields 类属性也应该可行。

class MyAdminForm(forms.ModelForm):   
some_field = forms.CharField()

for i in range(0, 10):
MyAdminForm.base_fields['file_field_%d' % i] = forms.FileField()

关于python - Django - 表单上的动态字段数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com