Tu veux peut-être associer ton ModelForm à ton modèle?
class UserProfileChangeUsernameMailForm(forms.ModelForm):
class Meta:
model = User
fields = ['username', 'email']
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user', None)
kwargs['instance'] = self.user
super(forms.ModelForm, self).__init__(*args, **kwargs)
……
2016-05-17 23:48 GMT+02:00 Encolpe DEGOUTE <[email protected]>:
> Bonjour,
>
>
>
> J'essaie de remplir mes champs avec les valeurs de l'utilisateur
> authentifié..
>
> Lors du passage dans __init__ les champs sont remplis avec les valeurs
> attendues. En revanche à l'affichage les champs restent vides.
>
> Je tourne autour du pot depuis le début de l'après-midi et je ne vois plus
> comment faire.
>
>
>
> Le code form/view est le suivant. Le modèle User est le standard de Django
> avec une couche Allauth.
>
>
>
> from django.contrib.auth.models import User
>
> class UserProfileChangeUsernameMailForm(forms.ModelForm):
> class Meta:
> model = User
> fields = ['username', 'email']
>
> def __init__(self, *args, **kwargs):
> self.user = kwargs.pop('user')
> super(forms.ModelForm, self).__init__(*args, **kwargs)
> self.fields['username'].initial = self.user.username
> self.fields['email'].initial = self.user.email
>
>
> class UserProfileChangeUsernameMailView(LoginRequiredMixin,
> AjaxCapableProcessFormViewMixin, FormView):
> template_name = "personalshowper/userprofile/username_mail_change.html"
> form_class = UserProfileChangeUsernameMailForm
> success_url = reverse_lazy("userprofile_change_username_mail")
>
> def get_form_class(self):
> return get_form_class(app_settings.FORMS,
> 'change_username_mail',
> self.form_class)
>
> def get_form_kwargs(self):
> kwargs = super(UserProfileChangeUsernameMailView,
> self).get_form_kwargs()
> kwargs["user"] = self.request.user
> return kwargs
>
> def get_context_data(self, **kwargs):
> ret = super(UserProfileChangeUsernameMailView,
> self).get_context_data(**kwargs)
> return ret
>
>
> class UserProfileChangeUsernameMailView(LoginRequiredMixin,
> AjaxCapableProcessFormViewMixin, FormView):
> template_name = "personalshowper/userprofile/username_mail_change.html"
> form_class = UserProfileChangeUsernameMailForm
> success_url = reverse_lazy("userprofile_change_username_mail")
>
> def get_form_kwargs(self):
> kwargs = super(UserProfileChangeUsernameMailView,
> self).get_form_kwargs()
> kwargs["user"] = self.request.user
> return kwargs
>
> def get_context_data(self, **kwargs):
> ret = super(UserProfileChangeUsernameMailView,
> self).get_context_data(**kwargs)
> return ret
>
>
> Je suis preneur de toute aide.
>
> Cordialement
>
> --
>
> Encolpe Degoute
>
> http://encolpe.wordpress.com
>
> http://encolpe.degoute.free.fr
>
> Logiciels libres, hockey sur glace et autres activités cérébrales
>
>
>
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
>
--
Best regards,
Christophe Narbonne
http://links.christophe31.net/
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django