1. 用户对象包括什么

只有一个User模型。

除了官方的 User 模型之外,自定义模型无法使用 Django 认证系统功能。

User模型主要包含字段:

  • username
  • password
  • email
  • first_name
  • last_name

2. 增改删

2.1. 创建用户

  1. >>> from django.contrib.auth.models import User
  2. >>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
  3. # 这时,user是一个User类的实例,可随时修改其属性,例如:
  4. >>> user.last_name = 'Lennon'
  5. >>> user.save()

2.2. 修改密码

可以通过命令行修改

$ python manage.py changepassword username
如果不提供用户名则会修改当前系统用户密码

也可以通过下面的方式

  1. >>> from django.contrib.auth.models import User
  2. >>> u = User.objects.get(username='john')
  3. >>> u.set_password('new password')
  4. >>> u.save()
  5. # 修改密码后,用户当前会话会被注销

2.3. 用户验证

  1. from django.contrib.auth import authenticate
  2. user = authenticate(username='john', password='secret')
  3. if user is not None:
  4. # 通过验证
  5. else:
  6. # 没有通过验证