• django 用户认证 user对象


    django中的用户模型 内部带有很多的属性方法,我们可以直接使用

    1 is_staff

    Boolean。决定用户是否可以访问admin管理界面。默认False。

    2 is_active

    Boolean。 用户是否活跃,默认True。一般不删除用户,而是将用户的is_active设为False。

    3 is_authenticated()

    用户是否通过验证,登陆。

    4 make_password(password)

    给密码加密  django自带的加密功能是hash 加盐

    5 check_password(password)

    检查用户输入的密码是否正确

    6 set_password(password)

    修改用户密码

    7 authenticate()

    from django.contrib.auth import authenticate, login, logout
    def post(self, request):
        username = request.POST.get('username', '')
        password = request.POST.get('password', '')
        form = LoginForm(request.POST)
        if form.is_valid():
            try:
                user = UserProfile.objects.get(Q(username=username)|Q(email=username)|Q(mobile=username))
            except:
                return render(request, 'login.html', {'errors': u"用户不存在!请先注册"})
            if user.is_active:
                user1 = authenticate(username=username, password=password)
                if user1 is None:
                    return render(request, 'login.html', {'errors': u"用户名/密码有误!"})
                login(request, user1)
                return render(request, 'index.html')
            else:
                return render(request, 'login.html', {'errors': u"该用户尚未激活!"})
        return render(request, 'login.html', {'form': form})
    8 last_login

    上一次的登录时间,为datetime对象,默认为当时的时间。

    user.last_login = timezone.now()
    9 request.user.is_authenticated()

    可以判断当前用户是否登录

    10 request.user.username

    获取当前登录用户的用户名

  • 相关阅读:
    kubernetes(七)二进制安装-worker节点安装
    kubernetes(六)二进制安装-master节点安装
    B树
    Nginx反向代理无法达到效果原因
    AVL树
    平衡二叉搜索树
    二叉搜索树
    二叉树
    js-day06-jQuery事件和DOM操作-练习题
    js-day05-JSON-jQuery初体验
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/11445162.html
Copyright © 2020-2023  润新知