django有自带的用户认证组件:自动用session记录登陆验证状态,将用户名和密码表存在了dajngo自带的auth_user里。
用户表:dajngo自带的auth_user
(不在models里创建表,直接做数据库迁移,查看数据库由auth_user表)
控制台创建超级用户:python3 manage.py createsuperuser
主要语法:
- auth模块:
from django.contrib import auth
authenticate()
提供了用户认证,即验证用户名以及密码是否正确
user=auth.authenticate(username=user,password=pwd)
login(HttpRequest, user)
该函数接受一个HttpRequest对象,以及一个认证了的User对象
此函数使用django的session框架给某个已认证的用户附加上session id等信息。
auth.login(request,user)
logout(request) 注销用户
# 注销
def logout(request):
auth.logout(request)
return redirect("/login/")
- User对象
from django.contrib.auth.models import User
is_authenticated
通过认证这只是表明用户成功的通过了认证。
创建用户
create_user
辅助函数创建用户:
user = User.objects.create_user(username='',password='',email='')
check_password(passwd)
用户需要修改密码的时候,首先要让其输入原来的密码 ,
如果给定的值通过了密码检查,返回 True
set_password()
来修改密码
user = User.objects.get(username='')
user.set_password(password='')
user.save()
- 自定义user表