LoginRequiredMixin类介绍

本文介绍了Django中的LoginRequiredMixin类,用于验证用户登录状态。该类确保只有已登录的用户才能访问特定视图,未登录用户会被重定向到指定的login_url。当用户尝试访问需要登录的页面时,系统会将他们重定向到登录页面,并通过next参数保存原始请求URL,以便登录后返回。在视图中,LoginRequiredMixin通过is_authenticated属性检查用户状态,并利用get_login_url方法处理重定向逻辑。应用实例展示了如何保护用户中心视图,确保未登录用户被正确重定向。
摘要由CSDN通过智能技术生成

根据官网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:
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WUYANGEZRA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值