This code demonstrates two simple techniques:
so-called "dynamic" forms, in which the form is created at run time by the model
using a widget (forms.widgets.HiddenInput) for a field of the form. I feel like this could be highlighted more in the documentation. You need to do something similar to get a textarea (forms.CharField(widget=forms.widgets.Textarea()) and it took me too long to figure this out.
There are, no doubt, good reasons not to do what I'm doing here the way I'm doing it. Peanut gallery?
1 2 3 4 5 6 7 8 9 10 11 | from django import forms
hiddenValues = forms.Form()
value0 = 17
hiddenValues.fields['value0'] = forms.CharField(initial=value0,
widget=forms.widgets.HiddenInput())
# pass the form to your template
# render it as you like, e.g. with form.as_p
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Great tip. Works like a charm.
#
Please login first before commenting.