django 判断是否登录后,跳转的登录地址,继承LoginRequiredMixin模块

判断用户是否登录,没有登录跳转到登录页面,登录后跳回原地址

LoginRequiredMixin

from django.contrib.auth.mixins import LoginRequiredMixin


1:分装的is_authenticates,判断用户是否登录,没有登录:执行handle_no_permission函数:返回

 

 2:

 

redirect_to_login(self.request.get_full_path(), self.get_login_url(), self.get_redirect_field_name())

  • self.request.get_full_path()  跳转的全路径

  • self.get_login_url()    登录跳转的地址 需要在setting中配置   (具体可在源码中看到)

    LOGIN_URL = "/login/"
  • self.get_redirect_field_name()  带全路劲的字段 默认是next 

使用

1:在setting中配置登录地址

#判断用户是否,指定未登录用户重定向的地址
LOGIN_URL = "/login/"

2:在视图中继承LoginRequireMixin

class InfoView(LoginRequiredMixin,views.View):

3:登录视图中添加

        next  = request.GET.get('next')
        if next:
            response = redirect(next)
        else:
            response = redirect(reverse("content:index"))
        response.set_cookie("username",user.username,max_age=3600*24*15)
        return response

 

    

 

posted on 2020-10-31 23:50  paike123  阅读(328)  评论(0编辑  收藏  举报

导航