@Vitalii181190
Начинающий вэб-разработчик

Как в представлении перенаправить авторизованого пользователя на главну страницу?

Логика такова я хочу что бы на страницу авторизации уже авторизованый пользователь не смог вернуться...
Пробовал так но падает ошибка: AttributeError: 'NoneType' object has no attribute 'has_header'
def get(self, request, *args, **kwargs):
        if self.request.user.is_authenticated:
            return redirect('base')

есть такой вариант работает без ошибки но может есть что-то по лучше?
def get(self, request, *args, **kwargs):
        if self.request.user.is_anonymous:
            context = {
                'form_search': SearchForm(),
                'form': LoginUserForm()
            }
            return render(request, 'Pay/registration/login.html', context)
        else:
            return redirect('base')

полный код ошибки:
Traceback (most recent call last):
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\asgiref\sync.py", line 482, in thread_handler
    raise exc_info[1]
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\core\handlers\exception.py", line 42, in inner
    response = await get_response(request)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\core\handlers\base.py", line 253, in _get_response_async
    response = await wrapped_callback(
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\asgiref\sync.py", line 444, in __call__
    ret = await asyncio.wait_for(future, timeout=None)
  File "C:\Users\Vitaliy\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py", line 440, in wait_for
    return await fut
  File "C:\Users\Vitaliy\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\asgiref\sync.py", line 486, in thread_handler
    return func(*args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\views\generic\base.py", line 84, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\views\decorators\debug.py", line 92, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\decorators.py", line 133, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\views\decorators\cache.py", line 63, in _wrapped_view_func
    add_never_cache_headers(response)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\cache.py", line 289, in add_never_cache_headers
    patch_response_headers(response, cache_timeout=-1)
  File "C:\Users\Vitaliy\PycharmProjects\Funpay\venv\lib\site-packages\django\utils\cache.py", line 280, in patch_response_headers
    if not response.has_header("Expires"):
AttributeError: 'NoneType' object has no attribute 'has_header'
HTTP GET /ru/login/ 500 [0.09, 127.0.0.1:51867]
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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