Как я могу запретить пользователю переходить на страницу регистрации, когда он уже вошел в систему?Джанго 2.1.2 - PullRequest
0 голосов
/ 29 ноября 2018

Я сделал админ-панель в Django.Который состоит из регистрации входа и приборной панели для администратора, но я столкнулся с проблемой, которая:

Если предположить, что пользователь вошел в систему, а затем пользователь переходит на URL-адрес и перейти на страницу регистрации, используя URL-адреснапримерlocalhost / зарегистрироваться, когда он уже вошел в систему и не нужно заходить на страницу регистрации, чтобы зарегистрировать другую учетную запись пользователя.Я не хочу, чтобы это случилось.

Как я могу запретить пользователю переходить на страницу регистрации, когда он уже вошел в систему. Как мы можем решить эту проблему?Пожалуйста, помогите

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете попробовать вот так:

def register(request):
   if request.user.is_authenticated:
       return redirect('/')  # or reverse('home_url_name')
   else:
       ....

Обновление по комментариям:

Вам необходимо переопределить LoginView для добавления этой функции также при входе в систему, например:

from django.contrib.auth import views as auth_views

class CustomLoginView(auth_views.LoginView):
    def get(self, request, *args, **kwargs):
       if request.user.is_authenticated:
           return redirect('/')
       return super(CustomLogin, self).get(request, *args, **kwargs)


# URL
path('accounts/login/', CustomLoginView.as_view()),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...