Ich habe ein Modell:Warum Django knusprige Form versteckte Felder erscheinen?
class MyModel(models.Model):
normal = models.CharField(null=True, blank=True, max_length=100)
other = models.CharField(null=True, blank=True, max_length=100)
hidden = models.CharField(null=True, blank=True, max_length=100)
Wenn ich eine regelmäßige Form zu definieren, ohne exclude
zu verwenden, zeigt das verborgene Feld auf der Benutzeroberfläche Nachdem die Taste in dem DOM einreichen (und UI):
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ('normal', 'hidden')
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(form=self)
self.helper.form_class = 'form-horizontal'
self.helper.label_class = 'col-sm-3 col-md-2'
self.helper.field_class = 'col-sm-9 col-md-10'
self.helper.layout = Layout(
'normal',
Hidden('hidden', 'hidden initial'),
FormActions(
Submit('save', 'Save', css_class='save-entry btn-success'),
)
)
Nun, wenn ich Dinge umdrehen und eine grundsätzlich äquivalente Form zusammenstellen, aber exclude
verwendend, erscheint das versteckte Feld nicht (was wir wollen).
Ich kann meinen Kopf nicht umschließen warum das passiert.
Wenn Sie benötigen, um den Wert des Feldes nicht zu bekommen/ändern, dann wäre es besser, um es einfach aus dem Formular auszuschließen. –