django se id de l'utilisateur courant
j'ai une mini application où les utilisateurs peuvent se connecter, consultez leur profil, et de suivre les uns les autres.
"Suivre" est une relation comme un " ami " de la relation dans des communautés virtuelles, mais il n'est pas forcément réciproque, ce qui signifie que l'on peut suivre un utilisateur, sans avoir besoin que l'utilisateur à la suite de retour à la personne qui le suit.
mon problème est le suivant:
si je suis un utilisateur connecté, et j'ai accédez à un profil de X, et appuyez sur le bouton suivez, comment puis-je prendre le courant id de profil ?(profil actuel sens le profil que j', l'utilisateur connecté, suis visualisation droit maintenant.)
la vue:
def follow(request):
if request.method == 'POST':
form = FollowForm(request.POST)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.initiated_by = request.user
u = User.objects. what here?
new_obj.follow = u
new_obj.save()
return HttpResponseRedirect('.')
else:
form = FollowForm()
return render_to_response('followme/follow.html', {
'form': form,
},
context_instance=RequestContext(request))
merci d'avance!
OriginalL'auteur dana | 2010-06-03
Vous devez vous connecter pour publier un commentaire.
Si vous ajoutez le profil de l'utilisateur de votre formulaire, vous pouvez le passer avec votre post.
Il y a un certain nombre de façons de le faire. Vous pouvez ajouter un champ caché de votre FollowForm (passer dans le profil comme un exemple).
Vous pourriez faire de plus manuellement par l'insertion d'un champ caché tels que:
Ensuite vous pouvez changer votre code ci-dessus:
Ou, peut-être que vous avez déjà le profil de l'utilisateur de l'id de votre point de vue?
N'importe qui peut changer la valeur du champ caché ...
OriginalL'auteur Dustin
Essayer
request.user.id
. Mais il est mieux de bonnes pratiques. laissez-moi voir.http://docs.djangoproject.com/en/1.2/topics/db/optimization/ est un bon début et il est plein de bonne pratique.
Dans votre cas, l'utilisation
request.user.id
.ok, imaginez l'url du profil est quelque chose comme /utilisateur/<id>/, alors l'action à suivre, certaines personnes peuvent être repris à un POST sur une url de la forme /utilisateur/<id>// où id est l'utilisateur.id de personnes que vous souhaitez suivre.
oui. il semble logique, et à droite 🙂 je vais essayer maintenant, et publier les résultats. merci ! 🙂
nope, je vois maintenant:) le problème est que je n'ai pas l'id de l'utilisateur dans l'url, donc je ne peux pas le prendre à partir du POST:(
OriginalL'auteur dzen