Issue
I have a Django form with a RegexField
, which is very similar to a normal text input field.
In my view, under certain conditions I want to hide it from the user, and trying to keep the form as similar as possible. What's the best way to turn this field into a HiddenInput
field?
I know I can set attributes on the field with:
form['fieldname'].field.widget.attr['readonly'] = 'readonly'
And I can set the desired initial value with:
form.initial['fieldname'] = 'mydesiredvalue'
However, that won't change the form of the widget.
What's the best / most "django-y" / least "hacky" way to make this field a <input type="hidden">
field?
Solution
If you have a custom template and view you may exclude the field and use {{ modelform.instance.field }}
to get the value.
also you may prefer to use in the view:
form.fields['field_name'].widget = forms.HiddenInput()
but I'm not sure it will protect save method on post.
Hope it helps.
Answered By - christophe31
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.