个人博客开发(024)

image.png
image.png
image.png
模拟(先拷贝一个副本,对副本进行操做):html

在blog/user/models.py中建立User(AbstracUser)类,建立属性昵称,而后在里面建立它的元类
image.png
而后再mysite/settings中添加字段:
AUTH_USER_MODEL = 'user.User'
image.png
由于咱们已经改了User了,因此须要对里面用到的User进行修改:
blog/models.py中:
image.png
再comment/models.py中作一样的修改:
image.png
一样:likes/models.py
image.png
对于user/forms.py中的修改:
image.png
user/views.py一样
image.png
迁移数据库:(注意这里是再原文件副本中迁移)
此时会出现数据库迁移冲突问题:
image.png
处理:将blog/migrations和其余全部的migrations中的迁移表都删除,而后从新迁移应用:python

建立缓存表:python manage.py createcachetable数据库

建立超级管理员:python manage.py createsuperuserdjango

运行:此时会没有任何一条博文,由于被咱们删了缓存

再user/中建立admin.py管理后台来管理user:网站

编写代码:
image.png
修改user/models.py来将昵称英文名换成中文名:
image.png
效果:
image.png
由于提交后显示用户身份状态数据显示不全,因此再admin.py中增长list_display:
image.png
效果:
image.png
总结:
image.png
参考于djangoproject网站
这里使用新的模型拓展方法:简单修改的少
image.png
1)建立自定义模型:user中新建models.py文件
image.png
而后迁移应用spa

再在user中增长一个admin文件,用于显示用户信息,
image.png
在后台用户管理中想要看到用户name等相关信息的设置:3d

将djangoproject.com中的如下代码拷贝到user/admin.py中:
image.png
而后进行修改:
image.png
运行重启:
image.png
由于昵称仍是Nickname,想要改一下:orm

修改user/models.py中:
image.png
而后在列表中显示昵称:修改admin.py文件
image.png
将nickname显示为中文:
image.png
效果:
image.png
image.pnghtm


功能增长:在下拉框中增长一个后台管理按钮可以直接跳转到后台管理界面
image.png
修改templates中的base.html:
image.png
修改login.html和register.html,使其注册完自动跳转到首页,登录后自动跳转到首页

可是后台管理不该该人人能够登陆:必须是用户或者是超级管理员才能够:
image.png

相关文章
相关标签/搜索