Django Представления на основе классов TemplateView выполняет перенаправление, если пользователь вошел в систему - PullRequest
0 голосов
/ 07 февраля 2020

Я переписываю свои функциональные представления в представления на основе классов, предыдущая страница входа ниже

def login(request, template_name="login.html"):
    context = {}

    if request.user.is_authenticated:
        return HttpResponseRedirect(reverse('home'))

    return render(request, template_name, context)

проверит, если вы уже вошли в систему, если да, перенаправит вас на домашнюю страницу

как я могу сделать то же самое с шаблоном ниже?

class LoginView(TemplateView):
    template_name = "login.html"

1 Ответ

1 голос
/ 07 февраля 2020

Переопределить метод get(...)

class LoginView(TemplateView):
    template_name = "login.html"

    <b>def get(self, request, *args, **kwargs):
        if self.request.user.is_authenticated:
            return HttpResponseRedirect(reverse('home'))
        return super().get(request, *args, **kwargs)</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...