Buenas tardes. Intentando hacer un login en django me sucede que puedo logearme con un usuario sin problemas pero si lo hago con otro distinto en una pestana aparte, me sobreescribe los datos en sesion del primero usuario logeado.
Este es mi login
Código Python:
Ver originaldef loginProcess(request):
usuarioLogin = User()
usuarioTipo = User()
usuarioLogin.username = str(request.POST['username'])
usuarioLogin.password = str(request.POST['password'])
mensaje = Mensaje()
mensaje.codigo = 0
mensaje.mensaje = ""
try:
if usuarioLogin.username == "" or usuarioLogin.password == "":
mensaje.codigo = 0
mensaje = Mensajes.objects.get(codigo=0)
paramsTemplate = {'datosUsuario': usuarioLogin,'mensajeLogin':mensaje}
paramsTemplate.update(csrf(request))
return render_to_response('login.html', paramsTemplate)
else:
usuarioTipo = auth.authenticate(username=usuarioLogin.username, password=usuarioLogin.password)
if usuarioTipo is not None and usuarioTipo.is_active:
paramsTemplate = {'datosUsuario': usuarioLogin,'mensajeLogin':mensaje}
paramsTemplate.update(csrf(request))
if usuarioTipo.is_staff:
profesor = Profesor.objects.get(username_id=usuarioTipo.id)
auth.login(request, usuarioTipo)
usuarioTipo = auth.get_user(request)
request.session[usuarioTipo.username] = profesor
return render_to_response('inicioProf.html', paramsTemplate)
else:
estudiante = Estudiante.objects.get(username_id=usuarioTipo.id)
auth.login(request, usuarioTipo)
usuarioTipo = auth.get_user(request)
request.session[usuarioTipo.username] = estudiante
return render_to_response('inicioEstud.html', paramsTemplate)
except ObjectDoesNotExist:
mensaje = Mensaje.objects.get(codigo=1)
paramsTemplate = {'datosUsuario': usuarioLogin,'mensajeLogin':mensaje}
paramsTemplate.update(csrf(request))
return render_to_response('login.html', paramsTemplate)
y para obtener los datos y verlos uso los siguentes metodos
Código Python:
Ver originaldef consultarDatosEstudiante(request):
user = auth.get_user(request)
estudiante = request.session[user.username]
paramsTemplate = {'datosUsuario': user,'datosEstudiante':estudiante}
paramsTemplate.update(csrf(request))
return render_to_response('consultarDatosEst.html', paramsTemplate)
def consultarDatosProfesor(request):
user = auth.get_user(request)
profesor = request.session[user.username]
paramsTemplate = {'datosUsuario': user,'datosProfesor':profesor}
paramsTemplate.update(csrf(request))
return render_to_response('consultarDatosProf.html', paramsTemplate)
De ante mano gracias por la ayuda que puedan prestarme!!