django练手(八):创建一个系统超级用户
一、引子
启动项目,在浏览器地址栏输入http://127.0.0.1:8000/admin/login/?next=/admin/ 进入系统管理员登录界面。如下图:
这里需要输入用户名和密码。但此时,我没有用户名密码。用户名密码怎么创建呢?
二、创建超级用户
以下是创建超级用户的过程:
1、打开终端窗口,输入命令python manage.py createsuperuser
,回车;
2、终端会提示输入用户名。我输入用户名“admin”,回车;
3、终端提示输入电子邮件地址。我输入“yanfenglucky@qq.com”,回车;
4、系统提示输入password。我输入“123456”,回车;
5、系统提示Password (again)。再次输入“123456”,回车;
6、系统提示“密码长度太短。密码必须包含至少 8 个字符。这个密码太常见了。密码只包含数字。”,同时提示“Bypass password validation and create user anyway? [y/N]:”,意思是“绕过密码验证并创建用户”,输入y表示同意。
7、系统提示“Superuser created successfully.”表示用户创建成功。
命令交互过程如下图:
我们可以拿刚才创建的用户登录网站的管理后台。登录后界面如下图:
三、django自带后台的用户信息构成
在数据库中打开auth_user表,发现该表的字段构成为:
其中,is_staff不太好理解。我查看了源码的AbstractUser模型,其中的is_staff字段的help_text写的是“Designates whether the user can log into this admin site”。翻译成中文大概是:指定用户是否可以登录到此管理站点。
从上表可以看出,django自带的auth_user表,已经支持了常见的用户信息。但如果我们想增加一些个性化的用户信息,该怎么办呢?请看下一节,《扩展django自带的用户模型》