Le mercredi 18 mai 2016, 22:29:35 CEST Christophe Narbonne a écrit :
> Les ModelForm requièrent un paramètre `instance` pour des modifications
> d'une instance donnée… Voir ma précédente réponse…
>
> 2016-05-18 15:14 GMT+02:00 Encolpe DEGOUTE <encolpe.degoute _AT_ free.fr>:
>
> >
> > Après une bonne nuit de sommeil mon code fonctionne en l'état…
> > En revanche il me crée un nouvel User avant de passer dans la méthode save
> > ce qui me donne une erreur de duplicate :
> >
> > ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « auth_user_username_key »
> > DETAIL: La clé « (username)=(edegoute3) » existe déjà.
> >
> >
> > Si je rajoute pas la méthode form_valid dans la vue, le code ne passe
> > jamais dans le save.
> > À nouveau je ne suis pas très loin, mais je butte sur cette erreur.
> >
> >
> > class UserProfileChangeUsernameMailForm(forms.ModelForm, UserForm):
> > class Meta:
> > model = User
> > fields = ['username', 'email']
> >
> > def __init__(self, user=None, *args, **kwargs):
> > self.user = user
> > super(UserProfileChangeUsernameMailForm, self).__init__(*args,
> > **kwargs)
> > self.fields['username'].initial = self.user.username
> > self.fields['email'].initial = self.user.email
> >
> > def save(self, *args, **kw):
> > super(UserProfileChangeUsernameMailForm, self).save(*args, **kw)
> > self.user.username = self.cleaned_data.get('username')
> > self.user.email = self.cleaned_data.get('email')
> > self.user.save()
> >
> >
> > class UserProfileChangeUsernameMailView(LoginRequiredMixin,
> > AjaxCapableProcessFormViewMixin, FormView):
> > template_name = "personalshowper/userprofile/username_mail_change.html"
> > form_class = UserProfileChangeUsernameMailForm
> > success_url = reverse_lazy("userprofile_username_mail")
> >
> > def get_form_class(self):
> > return get_form_class(app_settings.FORMS,
> > 'userprofile_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
> >
> > def form_valid(self, form):
> > form.save()
> > return super(UserProfileChangeUsernameMailView,
> > self).form_valid(form)
> >
> >
> >
> > ------------------------------
> > *De: *"Rémy Hubscher" <hubscher.remy _AT_ gmail.com>
> > *À: *django _AT_ lists.afpy.org
> > *Envoyé: *Mercredi 18 Mai 2016 09:44:48
> > *Objet: *Re: [afpy/django] Problème de valeur initiale des champs pour un
> > ModelForm
> >
> >
> > Peut-être que ceci peut t'aider:
> > http://stackoverflow.com/questions/1727564/how-to-create-a-userprofile-form-in-django-with-first-name-last-name-modificati/1727685#1727685
> >
> > Le 18/05/2016 08:55, Christophe Narbonne a écrit :
> >
> > 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 <encolpe.degoute _AT_ free.fr>:
> >
> >> 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
> >>tres activités cérébrales
> >>
2016-05-18 15:14 GMT+02:00 Encolpe DEGOUTE <encolpe.degoute _AT_ free.fr>:
>
> Après une bonne nuit de sommeil mon code fonctionne en l'état…
> En revanche il me crée un nouvel User avant de passer dans la méthode save
> ce qui me donne une erreur de duplicate :
>
> ERREUR: la valeur d'une clé dupliquée rompt la contrainte unique « auth_user_username_key »
> DETAIL: La clé « (username)=(edegoute3) » existe déjà.
>
>
> Si je rajoute pas la méthode form_valid dans la vue, le code ne passe
> jamais dans le save.
> À nouveau je ne suis pas très loin, mais je butte sur cette erreur.
>
>
> class UserProfileChangeUsernameMailForm(forms.ModelForm, UserForm):
> class Meta:
> model = User
> fields = ['username', 'email']
>
> def __init__(self, user=None, *args, **kwargs):
> self.user = user
> super(UserProfileChangeUsernameMailForm, self).__init__(*args,
> **kwargs)
> self.fields['username'].initial = self.user.username
> self.fields['email'].initial = self.user.email
>
> def save(self, *args, **kw):
> super(UserProfileChangeUsernameMailForm, self).save(*args, **kw)
> self.user.username = self.cleaned_data.get('username')
> self.user.email = self.cleaned_data.get('email')
> self.user.save()
>
>
> class UserProfileChangeUsernameMailView(LoginRequiredMixin,
> AjaxCapableProcessFormViewMixin, FormView):
> template_name = "personalshowper/userprofile/username_mail_change.html"
> form_class = UserProfileChangeUsernameMailForm
> success_url = reverse_lazy("userprofile_username_mail")
>
> def get_form_class(self):
> return get_form_class(app_settings.FORMS,
> 'userprofile_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
>
> def form_valid(self, form):
> form.save()
> return super(UserProfileChangeUsernameMailView,
> self).form_valid(form)
>
>
>
> ------------------------------
> *De: *"Rémy Hubscher" <hubscher.remy _AT_ gmail.com>
> *À: *django _AT_ lists.afpy.org
> *Envoyé: *Mercredi 18 Mai 2016 09:44:48
> *Objet: *Re: [afpy/django] Problème de valeur initiale des champs pour un
> ModelForm
>
>
> Peut-être que ceci peut t'aider:
> http://stackoverflow.com/questions/1727564/how-to-create-a-userprofile-form-in-django-with-first-name-last-name-modificati/1727685#1727685
>
> Le 18/05/2016 08:55, Christophe Narbonne a écrit :
>
> 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 <encolpe.degoute _AT_ free.fr>:
>
>> 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.wordpress.com
>>
>> <http://encolpe.degoute.free.fr>http://encolpe.degoute.free.fr
>>
>> Logiciels libres, hockey sur glace et autres activités cérébrales
>>
>>
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
>
>
> --
> Best regards,
> Christophe Narbonne
>
> http://links.christophe31.net/
>
>
> _______________________________________________
> django mailing listdjango _AT_ lists.afpy.orghttp://lists.afpy.org/mailman/listinfo/django
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
class UserProfileChangeUsernameMailForm(forms.ModelForm, UserForm):
class Meta:
model = User
fields = ['username', 'email']
def __init__(self, user=None, *args, **kwargs):
self.user = user
super(UserProfileChangeUsernameMailForm, self).__init__(*args, **kwargs)
self.fields['username'].initial = self.user.username
self.fields['email'].initial = self.user.email
def save(self, *args, **kw):
super(UserProfileChangeUsernameMailForm, self).save(*args, **kw)
self.user.username = self.cleaned_data.get('username')
self.user.email = self.cleaned_data.get('email')
self.user.save()
class UserProfileChangeUsernameMailView(LoginRequiredMixin, AjaxCapableProcessFormViewMixin, FormView):
template_name = "personalshowper/userprofile/username_mail_change.html"
form_class = UserProfileChangeUsernameMailForm
success_url = reverse_lazy("userprofile_username_mail")
def get_form_class(self):
return get_form_class(app_settings.FORMS,
'userprofile_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
def form_valid(self, form):
form.save()
return super(UserProfileChangeUsernameMailView, self).form_valid(form)
----- Mail original -----
De: "Rémy Hubscher" <hubscher.remy _AT_ gmail.com>
À: django _AT_ lists.afpy.org
Envoyé: Mercredi 18 Mai 2016 09:44:48
Objet: Re: [afpy/django] Problème de valeur initiale des champs pour un ModelForm
Peut-être que ceci peut t'aider: http://stackoverflow.com/questions/1727564/how-to-create-a-userprofile-form-in-django-with-first-name-last-name-modificati/1727685#1727685
Le 18/05/2016 08:55, Christophe Narbonne a écrit :
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 < encolpe.degoute _AT_ free.fr > :
<blockquote>
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
]]>Le 18/05/2016 08:55, Christophe Narbonne a écrit :
> Tu veux peut-être associer ton ModelForm à ton modèle?
>
> classUserProfileChangeUsernameMailForm(forms.ModelForm):
> classMeta:
> 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 <encolpe.degoute _AT_ free.fr
> <mailto:encolpe.degoute _AT_ free.fr>>:
>
> 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.
>
>
>
> fromdjango.contrib.auth.models importUser
>
> classUserProfileChangeUsernameMailForm(forms.ModelForm):
> classMeta:
> 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
>
>
> classUserProfileChangeUsernameMailView(LoginRequiredMixin,
> AjaxCapableProcessFormViewMixin, FormView):
> template_name =
> "personalshowper/userprofile/username_mail_change.html"
> form_class = UserProfileChangeUsernameMailForm
> success_url = reverse_lazy("userprofile_change_username_mail")
>
> defget_form_class(self):
> returnget_form_class(app_settings.FORMS,
> 'change_username_mail',
> self.form_class)
>
> defget_form_kwargs(self):
> kwargs = super(UserProfileChangeUsernameMailView,
> self).get_form_kwargs()
> kwargs["user"] = self.request.user
> returnkwargs
>
> defget_context_data(self, **kwargs):
> ret = super(UserProfileChangeUsernameMailView,
> self).get_context_data(**kwargs)
> returnret
>
>
> classUserProfileChangeUsernameMailView(LoginRequiredMixin,
> AjaxCapableProcessFormViewMixin, FormView):
> template_name =
> "personalshowper/userprofile/username_mail_change.html"
> form_class = UserProfileChangeUsernameMailForm
> success_url = reverse_lazy("userprofile_change_username_mail")
>
> defget_form_kwargs(self):
> kwargs = super(UserProfileChangeUsernameMailView,
> self).get_form_kwargs()
> kwargs["user"] = self.request.user
> returnkwargs
>
> defget_context_data(self, **kwargs):
> ret = super(UserProfileChangeUsernameMailView,
> self).get_context_data(**kwargs)
> returnret
>
>
> 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
> django _AT_ lists.afpy.org <mailto:django _AT_ lists.afpy.org>
> http://lists.afpy.org/mailman/listinfo/django
>
>
>
>
> --
> Best regards,
> Christophe Narbonne
>
> http://links.christophe31.net/
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
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 <encolpe.degoute _AT_ free.fr>:
> 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
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
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:
'username', 'email']
def __init__(self, *args, **kwargs):
'user')
super(forms.ModelForm, self).__init__(*args, **kwargs)
'username'].initial = self.user.username
'email'].initial = self.user.email
class UserProfileChangeUsernameMailView(LoginRequiredMixin, AjaxCapableProcessFormViewMixin, FormView):
"personalshowper/userprofile/username_mail_change.html"
"userprofile_change_username_mail")
def get_form_class(self):
return get_form_class(app_settings.FORMS,
'change_username_mail',
def get_form_kwargs(self):
"user"] = self.request.user
return kwargs
def get_context_data(self, **kwargs):
return ret
class UserProfileChangeUsernameMailView(LoginRequiredMixin, AjaxCapableProcessFormViewMixin, FormView):
"personalshowper/userprofile/username_mail_change.html"
"userprofile_change_username_mail")
def get_form_kwargs(self):
"user"] = self.request.user
return kwargs
def get_context_data(self, **kwargs):
return ret
Je suis preneur de toute aide.
Cordialement
]]>