Question

class EditAdminForm(forms.ModelForm):
    password = username.CharField(widget=forms.TextInput())
    password = forms.CharField(widget=forms.PasswordInput())
    password_confirm = forms.CharField(widget=forms.PasswordInput(), initial=???)

Vous pouvez voir ce que j'essaie de faire ici. Comment procéder pour pré-renseigner le champ pasword_confirm (qui ne fait pas partie du modèle). Je suis tellement confus.

Était-ce utile?

La solution

Vous ne pouvez pas accéder à l'instance dans la déclaration de formulaire, car il n'en existe aucune jusqu'à ce que vous l'instanciez.

Toutefois, si vous souhaitez uniquement définir des données initiales dynamiques, utilisez le paramètre initial de l'instantané:

form = EditAdminForm(initial={'password':'abcdef'})

Autres conseils

Vous pouvez définir la méthode __ init __ dans EditAdminForm.

quelque chose comme:

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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top