在运行时修改Django表单的最佳方法是什么?
|
我使用的代码是:
class VoteForm(forms.ModelForm):
other_choice1 = forms.BooleanField(required=False)
other_choice2 = forms.BooleanField(required=False)
other_choice3 = forms.BooleanField(required=False)
other_choice4 = forms.BooleanField(required=False)
class Meta:
model = Vote
exclude = (\'choice\', \'other_choices\',)
def __init__(self, poll_id, *args, **kwargs):
super(VoteForm, self).__init__(*args, **kwargs)
p = get_object_or_404(Poll, pk=poll_id)
choices = p.choice_set.all()
choices_len = len(choices)
f = [\'other_choice1\',\'other_choice2\',\'other_choice3\',\'other_choice4\']
for i in range(0,choices_len):
self.fields[f[i]].label = str(choices[i])
for i in range(choices_len,4):
del self.fields[f[i]]
这是我发现在运行时修改表单字段的最佳方法。看起来有点像破解实现。明确定义的方法是什么?
谢谢,
亚历克斯
没有找到相关结果
已邀请:
2 个回复
剑哎
吗? :
(或按此处http://snipt.net/danfreak/how-to-generate-a-dynamic-at-runtime-form-in-django/中的说明为“ 3”:
闯舱酮