2012-08-02 8 views
15

Cuando intento usar staff_view, me redirigen a la interfaz de autenticación de administrador.Use el decodificador_recomendable staff_member, pero sin ser redirigido a la interfaz de administración?

from django.contrib.admin.views.decorators import staff_member_required 

    @staff_member_required 
    def staff_view(request..): 
     ... 

¿Cómo puedo hacer un inicio de sesión personalizado y no ser redireccionado en la interfaz de inicio de sesión de administrador predeterminada?

+1

Tendrás que escribir tu propio decorador :) –

+1

Acabo de escribir mi decorador: P – Kreshnik

Respuesta

24

Puede utilizar user_passes_test decorador de Django:

from django.contrib.auth.decorators import user_passes_test 

@user_passes_test(lambda u:u.is_staff, login_url=reverse_lazy('foo')) 
def staff_view(request..): 
    ... 
6

Es importante señalar que staff_member_required es una envoltura alrededor de user_passes_test (ver source code) y también acepta un parámetro login_url, por lo que podría hacer:

@staff_member_required(login_url=example_url) 
def staff_view(request..): 
    ... 
Cuestiones relacionadas