Quijost

Webmaster => Programacion Web => Python => Mensaje iniciado por: marcostrfn en Diciembre 03, 2012, 11:07:24 am

Título: problema en redireccion a página de login usando @login_required en django
Publicado por: marcostrfn en Diciembre 03, 2012, 11:07:24 am
Buenos dias:
Estoy entrando en el mundo de django y me encuentro con el siguiente problema:

Cuando intento acceder a /hola sin autenticarme me redirige a http://quijost.com/not-found/?redirect en vez de a la pagina de login

En el código tengo lo siguiente:

En la vista
from django.http import HttpResponse
from django.contrib.auth.decorators import login_required

@login_required
def hola(request):
    ''' codigo ....

En urls
from django.conf.urls import patterns, include, url

from views import hola

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'miapp.views.home', name='home'),
    # url(r'^miapp/', include('miapp.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    url(r'^accounts/login/$',  'django.contrib.auth.views.login'),
    url(r'^accounts/logout/$', 'django.contrib.auth.views.logout'),
    url(r'^hola/$', hola),

en la carpeta de templates he creado registration/login.html

¿Cual es el problema?
Título: Re:problema en redireccion a página de login usando @login_required en django
Publicado por: shakaran en Diciembre 03, 2012, 19:24:41 pm
Probablemente se deba a que no estas definiendo en tu settings.py una pagina de error 404 o 503 o bien en el .htaccess y en caso de no haber definido ninguna se carga por defecto la página 404 de quijost.

Django estará lanzando alguna excepción de 404 o 503 y no encuentra el template o vista. Puedes ver más información en la documentación oficial de Django:
https://docs.djangoproject.com/en/1.3/topics/http/views/#the-404-page-not-found-view

Título: Re:problema en redireccion a página de login usando @login_required en django
Publicado por: marcostrfn en Diciembre 04, 2012, 16:03:43 pm
Ya he dado con el error. 

Por si le sirve a alguien login required dirige a la página de acounts/login pero toma como raíz la direccion del servidor y no la carpeta donde esta alojado  el proyecto.

Hay qué forzarle a que vaya a la pagina correcta dandole el path  si el proyecto no está en la raíz del servidor.