Vous n'êtes pas identifié(e).
Bonjour !
Je suis confronté à un léger problème. Je souhaite automatiser un champ dans ma base de données à chaque nouvel ajout mais seulement à partir du modèle, c'est-à-dire que je passe par la fonction save(). Je souhaite donc récupérer les informations de l'utilisateur connecté à partir du modèle mais je n'y arrive pas, je ne sais pas comment m'y prendre. J'ai essayé d'importer manuellement HttpRequest() mais je n'ai aucun retour avec l'utilisateur (request.user).
Avez-vous des solutions à me proposer ?
Cordialement.
Dernière modification par Sh4ke (26-12-2010 12:44:53)
Hors ligne
Bonjour,
Voici comment tu peux faire en utilisant un form.
http://stackoverflow.com/questions/1727564/how-to-create-a-userprofile-form-in-django-with-first-name-last-name-modificatio/1727685#1727685
Dans la fonction save du modèle, il faut que tu puisses lui passer le
request en paramètre.
Cordialement,
Rémy
Le mardi 14 décembre 2010 à 12:25 +0000, Cyril Mizzi a écrit :
> Bonjour !
> Je suis confronté à un léger problème. Je souhaite automatiser un
> champ dans ma base de données à chaque nouvel ajout mais seulement à
> partir du modèle, c'est-à-dire que je passe par la fonction save(). Je
> souhaite donc récupérer les informations de l'utilisateur connecté à
> partir du modèle mais je n'y arrive pas, je ne sais pas comment m'y
> prendre. J'ai essayé d'importer manuellement HttpRequest() mais je n'ai
> aucun retour avec l'utilisateur (request.user).
>
> Avez-vous des solutions à me proposer ?
> Cordialement.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
Bonjour !
Je suis confronté à un léger problème. Je souhaite automatiser un champ dans ma base de données à chaque nouvel ajout mais seulement à partir du modèle, c'est-à-dire que je passe par la fonction save(). Je souhaite donc récupérer les informations de l'utilisateur connecté à partir du modèle mais je n'y arrive pas, je ne sais pas comment m'y prendre. J'ai essayé d'importer manuellement HttpRequest() mais je n'ai aucun retour avec l'utilisateur (request.user).Avez-vous des solutions à me proposer ?
Cordialement.
Il faut que tu passes un contex_instance en paramètre de render_to_response :
return render_to_response( ..., context_instance=RequestContext(request))
Regarde dans la doc les RequestContext...
- Stan
Hors ligne
Ce n'est pas vraiment ce que je demande... Ca, c'est pour le template. Moi, je veux récupérer la personne connectée à l'intérieur de mon modèle.
Hors ligne
Bonjour,
Tel que je comprends le fonctionnement du framework, ce n'est pas
possible. La couche "vue" (traitement des requetes) est faite pour
accéder à la couche modèle, pas l'inverse.
A ta place je rajouterai une méthode à ton modèle pour lui passer
l'utilisateur connecté. Ou tout simplement lors de l'instanciation,
surtout si c'est un ForeignKey du modèle par exemple.
Le 18 décembre 2010 11:39, Sh4ke <cyril.mizzi _AT_ gmail.com> a écrit :
> Ce n'est pas vraiment ce que je demande... Ca, c'est pour le template. Moi,
> je veux récupérer la personne connectée à l'intérieur de mon modèle.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Ce n'est pas vraiment ce que je demande... Ca, c'est pour le template. Moi, je veux récupérer la personne connectée à l'intérieur de mon modèle.
Il faut surcharger la méthode 'save' de ton model et lui passer en argument
l'utilisateur ( attention à bien appeler le save de la superclasse ).
voir : http://docs.djangoproject.com/en/1.2/to … el-methods
donc, de ta vue, tu récupères l'utilisateur avec un request.user ( mais il faut que le context_instance soit fourni, par défaut il ne l'est pas )
ensuite tu appelles le save de ton model avec l'utilisateur en argument.
- Stan
Hors ligne
Le 18 déc. 2010 à 11:39, Sh4ke a écrit :
> Ce n'est pas vraiment ce que je demande... Ca, c'est pour le template. Moi,
> je veux récupérer la personne connectée à l'intérieur de mon modèle.
http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser
Ca te donnera le point de vue "officiel" à ce sujet.
Hors ligne
Merci à tous. Je vais donc passer par l'administration et par mes vues pour insérer « manuellement » les membres.
Hors ligne