Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2012, 05:47
Avatar de juankysmith
juankysmith
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 1
el User se pierde tras el login

Hola a todos,

estoy añadiendo funciones de authentication a mi web, para ello hago uso de django-registration, que a su vez utiliza django.contrib.auth.

He añadido un enlace en la pagina principal de mi web (/home_page/) para que el usuario acceda a la página de login:

Código:
{% if user.is_authenticated %}
     Bienvenido {{ user.username }}
{% else %}
    <a href="{% url django.contrib.auth.views.login %}?next={{request.path}}">Entrar</a>
{% endif %}
Este enlace redirige correctamente a la url /accounts/login/, que carga correctamente el template registration/login.html:

Código:
{% block maincontent %}
<form method="post" action="">{% csrf_token %}
    {{form.as_p}}
    <input name="next" type="hidden" value="/home_page/" />
    <input type="submit" value="Login">
</form>
{% endblock %}
Al pulsar el submit Login se ejecuta la vista django.contrib.auth.views.login, la cual he comprobado que autentica al usuario correctamente, creando la instancia User con los datos introducidos en el formulario.

El problema viene cuando redirecciona a /home_page/ ya que una vez en la vista que carga la home_page, si consulto el valor de request.user, me devuelve una instancia de AnonymousUser y, como consecuencia de esto, la función user.is_authenticated() siempre devuelve False.

¿Saben que puedo estar haciendo mal para que el User no se haya guardado correctamente en el request?
Información: Las cookies están activas en el navegador.

Última edición por juankysmith; 07/03/2012 a las 05:56 Razón: falta informacion