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

Répondre à