Django 自带的 User 类就已经帮我们实现了用户的注册和登陆的基本功能. 可是, 这个类只包含了 username, first_name, last_name, email 这4个基础字段, 且first_name, last_name, 和email字段都是非必填的. 如果我们需要User表里面有更多的字段, 那么我们可以自己来拓展 Django这个类.
源码分析
1 | class User(AbstractUser): |
从源码可以看出, 自带的User继承自AbstractUser. 如果我们要添加字段或者更改字段, 也需要继承 AbstractUser.
拓展
1 | from django.contrib.auth.models import AbstractUser |
使用模型
当我们完成User表的拓展的时候, 工作并没有结束, 我们还需要告诉Django来使用我们刚刚拓展的User模型来验证登陆和注册.
在settings.py添加1
AUTH_USER_MODEL = 'manager.User'
这样才算完成.
EOF