Reputation: 57198
class EditAdminForm(forms.ModelForm):
password = username.CharField(widget=forms.TextInput())
password = forms.CharField(widget=forms.PasswordInput())
password_confirm = forms.CharField(widget=forms.PasswordInput(), initial=???)
You can see what I'm trying to do here. How would I go about pre-populating the pasword_confirm field (which is not part of the model). I'm so confused.
Upvotes: 0
Views: 1083
Reputation: 2818
You can define __init__
method in EditAdminForm.
something like:
class EditAdminForm(forms.ModelForm):
username = forms.CharField(widget=forms.TextInput())
password = forms.CharField(widget=forms.PasswordInput())
def __init__(self, initial_from, data=None, initial=None)
sefl.fields['password_confirm'] = forms.CharField(widget=forms.PasswordInput(), initial=initial_from)
Upvotes: 0
Reputation: 600041
You can't access the instance in the form declaration, because there isn't one until you instantiate it.
However, if all you want to do is set dynamic initial data, do this with the initial
parameter on instantation:
form = EditAdminForm(initial={'password':'abcdef'})
Upvotes: 2