DJANGO - Comment accéder à l'instance de modèle actuelle à partir d'un formulaire
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.
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