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