1. 用户对象包括什么
只有一个User模型。
除了官方的 User 模型之外,自定义模型无法使用 Django 认证系统功能。
User模型主要包含字段:
- username
- password
- first_name
- last_name
2. 增改删
2.1. 创建用户
>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
# 这时,user是一个User类的实例,可随时修改其属性,例如:
>>> user.last_name = 'Lennon'
>>> user.save()
2.2. 修改密码
可以通过命令行修改
$ python manage.py changepassword username
如果不提供用户名则会修改当前系统用户密码
也可以通过下面的方式
>>> from django.contrib.auth.models import User
>>> u = User.objects.get(username='john')
>>> u.set_password('new password')
>>> u.save()
# 修改密码后,用户当前会话会被注销
2.3. 用户验证
from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
# 通过验证
else:
# 没有通过验证