I use the backend solution from django. I just want to get a username from the cookie or the session_key to get to know the user. How I can do it?
from django.contrib.auth.models import User
from django.contrib.sessions.models import Session
def start(request, template_name="registration/my_account.html"):
user_id = request.session.get('session_key')
if user_id:
name = request.user.username
return render_to_response(template_name, locals())
else:
return render_to_response('account/noauth.html')
Only else is coming up. What am I doing wrong?
Am I right then that authenticated means he is logged in?
–> Okay this I got!
Firstly, if you have some clarification to a question, update the question, don’t post an answer or (even worse) another question, as you have done. Secondly, if the user is logged out, by definition he doesn’t have a username.
I mean the advantage of Cookies is to identify a user again. I just want to place his name on the webpage. Even if he is logged out. Or isnt’t it possible?
piquadrat has absolutely the right answer, but if for some reason you do need to get the user from the session, you call
get_decoded()on the session object: