Декоратор Django для перенаправления на ту же страницу?
Когда пользователь пытается получить доступ к не разрешенной странице, как правильно поступить?
First option: Redirect to the same page they came from
Second Option: Redirect to error page saying permission denied or not found
Third Option: Redirect to login page
Я создал декоратор:
from django.contrib.auth.decorators import user_passes_test
from django.contrib.auth import REDIRECT_FIELD_NAME
def is_student(function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url=None):
actual_decorator = user_passes_test(
lambda u: (u.is_authenticated and u.role == 'role1'),
login_url=login_url,
redirect_field_name=redirect_field_name
)
if function:
return actual_decorator(function)
return actual_decorator
Итак, вышеописанное работает и перенаправляет на логин, если мы указываем login_url! Как перенаправить на ту же страницу, с которой зашел пользователь, или какой вариант лучше?