本文介绍了如果用户已登录,则基于Django类的视图TemplateView将执行重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将函数视图重写为基于类的视图,即下面的上一个登录页面

I'm rewriting my function views to class based views, the previous login page below

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

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

    return render(request, template_name, context)

将检查您是否已经登录,如果可以,则会将您重定向到首页

would check to see if your already logged in, if yes would redirect you to the homepage

我如何使用下面的templateview做同样的事情?

how can i do the same with a templateview below?

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

推荐答案

覆盖 get(...) 方法

Override the get(...) method

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

    def get(self, request, *args, **kwargs):
        if self.request.user.is_authenticated:
            return HttpResponseRedirect(reverse('home'))
        return super().get(request, *args, **kwargs)

这篇关于如果用户已登录,则基于Django类的视图TemplateView将执行重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 14:07