根据官网https://docs.djangoproject.com/en/1.11/topics/auth/default/中的介绍
from django.contrib.auth.mixins import LoginRequiredMixin
class MyView(LoginRequiredMixin, View):
login_url = '/login/'
redirect_field_name = 'redirect_to'
构造继承自LoginRequiredMixin类的子类,可以实现:
1. 验证用户是否登陆
2. 用户登陆时和未登陆时分别跳转的页面,其中login_url字段定义的是用户登陆时跳转的页面;redirect_field_name字段定义的是用户未登录时跳转的页面。
源码:
class LoginRequiredMixin(AccessMixin):
"""
CBV mixin which verifies that the current user is authenticated.
"""
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated: