Quiero agregar un poco de Ajax -niceness a mi sitio web con código Django.Autenticación Django y Ajax - URLs que requieren iniciar sesión
En mi código Django, uso el decorador @login_required
de django.contrib.auth.decorators
para marcar qué vista requiere autenticación. El comportamiento predeterminado cuando un usuario no autenticado hace clic en él es redirigirlo a la página de inicio de sesión y luego pasar la página de destino.
Lo que vi en algunos sitios, y realmente me gustó, es que cuando el usuario hace clic en un enlace que conduce a un lugar restringido a usuarios solo registrados, en vez de ser redirigido a una página de inicio de sesión, obtiene una ventana emergente (a través de JavaScript) pidiéndole que inicie sesión o se registre. No hay parte de redirección, por lo que no es necesario que el usuario use la tecla "volver" si él/ella decide que realmente no le gusta el sitio web lo suficiente como para perder el tiempo registrando.
Por lo tanto, la pregunta es: ¿cómo administrarías la tarea de marcar automáticamente algunos enlaces como "restringidos" para que JavaScript pueda manejar su evento onclick
y mostrar una ventana emergente "por favor inicie sesión"?
Quizás valga la pena señalar que puede usar el decorador 'functools.wraps' alrededor de' def wrap' para evitar las asignaciones a 'wrap .__ doc__',' wrap .__ dict__', y 'wrap .__ name__' (que no es mencionado en esta respuesta, pero debe hacerse). Ver http://docs.python.org/library/functools.html#functools.wraps – quodlibetor
@EricWalker ¿tal vez actualizar la publicación entonces? :) –
@Anders: por favor, adelante y edite la respuesta para incorporar el cambio. No he trabajado en Python por un tiempo, y no quiero estropearlo. –