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()
可以判断当前用户是否登录
10 request.user.username
获取当前登录用户的用户名
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;
当你的能力还驾驭不了你的目标时,就应该沉下心来历练。