django xadmin 管理器常用显示设置方式


Posted in Python onMarch 11, 2020

课程管理器:

class CourseAdmin(object):
  # 设置列表显示字段
  list_display = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time']
  # 设置列表查询字段
  search_field = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums']
  # 设置列表过滤字段
  list_filter = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time']
  # 设置显示图标
  model_icon = 'fa fa-check-square'
  # 设置字段可以直接在列表页修改
  list_editable=['desc','degree']
  # 设置默认排序
  ordering=['-click_nums']
  # 设置详情页面只读显示
  readonly_fields=['fav_nums','click_nums']
  # 设置详情页面不显示某个字段
  exclude=['add_time']
   #自动刷新列表页面(秒数)
  refresh_times = [3,5] 

	def queryset(self):
	    # 重载queryset方法,进行过滤
	    qs = super(CourseAdmin, self).queryset()
	    # 只显示is_banner=True的课程
	    qs = qs.filter(is_banner=False)
	    return qs 
	  
	def save_models(self):
    # 在保存课程的时候统计课程机构的课程数
    # obj实际是一个course对象
    obj = self.new_obj
    # 对当前课程进行保存,否则统计的课程数会少一个
    obj.save()
    if obj.course_org is not None:
      course_org = obj.course_org
      course_org.course_nums = Course.objects.filter(course_org=course_org).count()
      course_org.save()

CourseOrg是Course的一个外键

课程机构管理器:

class CourseOrgAdmin(object):
  list_display = ['name', 'desc', 'click_num','fav_nums','image','address','city','add_time']
  search_fields = ['name', 'desc', 'click_num','fav_nums','image','address','city']
  list_filter = ['name', 'desc', 'click_num','fav_nums','image','address','city','add_time']
  # 某一个model指向它时,它是以ajax加载的方式来完成的,通过搜索来进行添加某个字段,这样可以避免数据量过大时,把所有数据都加载进来
  relfield_style='fk-ajax'

class LessonInline(object):
  model = Lesson
  extra = 0

class CourseResourceInline(object):
  model = CourseResource
  extra = 0

#inlines 实现在添加course的同时,在同页面添加相应的章节与课程资源
class CourseAdmin(object):
  inlines = [LessonInline,CourseResourceInline]  #增加章节和课程资源

补充知识:Django之定制属于自己的admin

在admin.py中使用:admin.site.register(models.类名)

# register中可以看出register中还有一个参数admin_class=None:
def register(self, model_or_iterable, admin_class=None, **options):
  if not admin_class:
    admin_class = ModelAdmin

register中可以看出register中还有一个参数admin_class=None,据此我们可以定制自己的admin

class UserAdmin(ModelAdmin):
  list_display = ('name', 'email', 'ut')
admin.site.register(UserInfo, UserAdmin)

ModelAdmin中提供了大量的可定制功能,如:

list_display,列表时,定制显示的列。

list_display_links,列表时,定制列可以点击跳转。

list_filter,列表时,定制右侧快速筛选。

list_select_related,列表时,连表查询是否自动select_related。

action,列表时,定制action中的操作。

定制HTML模板。

add_form_template = None
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None

以上这篇django xadmin 管理器常用显示设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 面向对象 成员的访问约束
Dec 23 Python
学习python的几条建议分享
Feb 10 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
python进行两个表格对比的方法
Jun 27 Python
对python产生随机的二维数组实例详解
Dec 13 Python
Python3实现的反转单链表算法示例
Mar 08 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
python匿名函数用法实例分析
Aug 03 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
python dir函数快速掌握用法技巧
Dec 09 Python
python基础之匿名函数详解
Apr 21 Python
django从后台返回html代码的实例
Mar 11 #Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 #Python
python3 实现口罩抽签的功能
Mar 11 #Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 #Python
Django+boostrap 美化admin后台的操作
Mar 11 #Python
Windows 下python3.8环境安装教程图文详解
Mar 11 #Python
django admin后管定制-显示字段的实例
Mar 11 #Python
You might like
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
js倒计时显示实例
2016/12/11 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
原生js实现购物车
2020/09/23 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python传递参数方式小结
2015/04/17 Python
Python引用模块和查找模块路径
2016/03/17 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
买卖车协议书
2014/04/21 职场文书
安全标兵事迹材料
2014/08/17 职场文书
小学庆六一活动总结
2014/08/28 职场文书
出纳岗位职责范本
2015/03/31 职场文书
离职证明格式样本
2015/06/12 职场文书
农村婚庆主持词
2015/06/29 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers
Python中npy和mat文件的保存与读取
2022/04/24 Python