Antonchik
@Antonchik
Программирую на HTML

Доступ к views только для не залогинненого пользователя?

Здравствуйте. В django есть декоратор который позволяет ограничить доступ только для не залогинненых пользователей, выглядит он так @login_required(login_url='/user/login'). А как можно ограничить доступ к методам, пользователям которые залогиннены?
Я делал это так
if request.user.is_authenticated:
        return HttpResponseRedirect(reverse('default'))

Но может есть другие варианты, для таких действий?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 1
Можно написать декоратор, который будет редиректить залогиненых пользователей.

Вроде такого:

def redirect_if_authenticated(view_func):
    @wraps(view_func)
    def dispatch_wrapper(self, request, *args, **kwargs):
        if request.user.is_athenticated:
            return redirect('default')
        return view_func(self, request, *args, **kwargs)
    return dispatch_wrapper
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы