Django 2.0实战:博客系统3 开发管理后台

使用Django自带的admin来完成管理后台的开发

配置admin页面

1、创建blog的管理后台

blog/admin.py

。。。。。。

$ python manage.py createsuperuser 创建管理

$ python manage.py runserver   测试

Django 2.0实战:博客系统3 开发管理后台_第1张图片

2、创建Post的管理后台

blog/admin.py

。。。。。。

    以上通过继承admin.ModelAdmin,就能实现这个Model的增、删、改、查页面的配置。

3、创建comment的管理后台

4、创建config的管理后台

现在的问题是页面展示还不够友好,因此我们需要进行更多配置。

根据需求定制admin

有两种操作页面的方法:

一是数据批量展示和操作的列表页;

二是数据增加或者修改的编辑(新增)页;

1、定义list页面

作者只能看到自己的文章

2、编辑页面的配置

哪些东西可以被定制

  • 按钮位置;save_on_top
  • 哪些字段需要被用户填写,哪些不用填写甚至不用展示; fields或者fieldset,exclude不展示字段
  • 页面的字段展示顺序是不是能调整,展示位置是否能调整; 
  • 输入框的样式;

3、自定义静态资源引入

页面是Django生成的,但提供了接口添加CSS和JS脚本

4、自定义Form

form变量

5、在同一页面编辑关联数据

inlines变量

6、定制site

大部分情况下,一个site对应一个站点。也可以定制site来实现一个系统对外提供多套admin后台的逻辑。

7、admin的权限逻辑以及SSO登录

集成登录的逻辑只需要参考Django默认的Setting的配置AUTHENTICATION_BACKENDS是如何实现的即可,并且Django也提供了详细的文档,告诉你如何定制第三方认证系统。

抽取Admin基类

编写基类,方便维护

记录操作日志

LogEntry模块会创建一条变更日志几率。ModelAdmin内部提供了两个方法,log_addition和log_change。

查询某个对象的变更

 

你可能感兴趣的:(Python)