擅长:python、mysql、java
<p>您可以重写表单中的<code>visible_fields</code>(或者<code>hidden_fields</code>,如果您真的需要隐藏字段)方法,将它们标记为“不可见”(或隐藏输入)。有关详细信息,请参阅<a href="http://docs.djangoproject.com/en/dev/topics/forms/#looping-over-hidden-and-visible-fields" rel="nofollow noreferrer">docs</a>。在</p>
<p>编辑:像这样的东西应该有用。。。在</p>
<pre><code>class sendFleet(forms.Form):
[...]
ship1 = forms.IntegerField(initial=0)
ship2 = forms.IntegerField(initial=0)
def visible_fields(self):
# create a list of fields you don't want to display
invisibles = []
if self.instance.ship1 == 0:
invisibles.append(self.fields['ship1'])
# remove fields from the list of visible fields
visibles = super(MailForm, self).visible_fields()
return [v for v in visibles if v.field not in invisibles]
</code></pre>
<p>然后在模板中:</p>
^{pr2}$