zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/11445162.html
Copyright © 2011-2022 走看看