模拟(先拷贝一个副本,对副本进行操做):html
在blog/user/models.py中建立User(AbstracUser)类,建立属性昵称,而后在里面建立它的元类
而后再mysite/settings中添加字段:
AUTH_USER_MODEL = 'user.User'
由于咱们已经改了User了,因此须要对里面用到的User进行修改:
blog/models.py中:
再comment/models.py中作一样的修改:
一样:likes/models.py
对于user/forms.py中的修改:
user/views.py一样
迁移数据库:(注意这里是再原文件副本中迁移)
此时会出现数据库迁移冲突问题:
处理:将blog/migrations和其余全部的migrations中的迁移表都删除,而后从新迁移应用:python
建立缓存表:python manage.py createcachetable数据库
建立超级管理员:python manage.py createsuperuserdjango
运行:此时会没有任何一条博文,由于被咱们删了缓存
再user/中建立admin.py管理后台来管理user:网站
编写代码:
修改user/models.py来将昵称英文名换成中文名:
效果:
由于提交后显示用户身份状态数据显示不全,因此再admin.py中增长list_display:
效果:
总结:
参考于djangoproject网站
这里使用新的模型拓展方法:简单修改的少
1)建立自定义模型:user中新建models.py文件
而后迁移应用spa
再在user中增长一个admin文件,用于显示用户信息,
在后台用户管理中想要看到用户name等相关信息的设置:3d
将djangoproject.com中的如下代码拷贝到user/admin.py中:
而后进行修改:
运行重启:
由于昵称仍是Nickname,想要改一下:orm
修改user/models.py中:
而后在列表中显示昵称:修改admin.py文件
将nickname显示为中文:
效果:htm
功能增长:在下拉框中增长一个后台管理按钮可以直接跳转到后台管理界面
修改templates中的base.html:
修改login.html和register.html,使其注册完自动跳转到首页,登录后自动跳转到首页
可是后台管理不该该人人能够登陆:必须是用户或者是超级管理员才能够: