Django-fr

Forum

  • Accueil
  • » Django-fr
  • » [Résolu] HttpRequest et utilisateurs dans un modèle

#1 14-12-2010 13:25:47

Sh4ke
Membre
Inscription : 13-10-2010
Messages : 14

[Résolu] HttpRequest et utilisateurs dans un modèle

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

#2 14-12-2010 13:53:26

Rémy HUBSCHER
Membre
Inscription : 11-08-2010
Messages : 161

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

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

#3 17-12-2010 17:11:08

Stan
Membre
Inscription : 17-12-2010
Messages : 8

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

Sh4ke 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.


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

#4 18-12-2010 11:39:19

Sh4ke
Membre
Inscription : 13-10-2010
Messages : 14

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

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

#5 18-12-2010 11:49:30

Jérémie Ducastel
Membre
Inscription : 11-08-2010
Messages : 16

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

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

#6 18-12-2010 15:12:49

Stan
Membre
Inscription : 17-12-2010
Messages : 8

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

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.

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

#7 19-12-2010 09:38:08

Romain
Membre
Inscription : 11-08-2010
Messages : 27

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

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

#8 26-12-2010 12:44:14

Sh4ke
Membre
Inscription : 13-10-2010
Messages : 14

Re : [Résolu] HttpRequest et utilisateurs dans un modèle

Merci à tous. Je vais donc passer par l'administration et par mes vues pour insérer « manuellement » les membres.

Hors ligne

  • Accueil
  • » Django-fr
  • » [Résolu] HttpRequest et utilisateurs dans un modèle

Pied de page des forums