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 相关文章推荐
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
Puppeteer使用示例详解
Jun 20 Python
Django logging配置及使用详解
Jul 23 Python
Python实现时间序列可视化的方法
Aug 06 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
python3实现单目标粒子群算法
Nov 14 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
Python使用进程Process模块管理资源
Mar 05 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
详解pandas赋值失败问题解决
Nov 29 Python
Matplotlib绘制混淆矩阵的实现
May 27 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面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
神盾加密解密教程(二)PHP 神盾解密
2014/06/08 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
jquery获取radio值实例
2014/10/16 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
ES6中参数的默认值语法介绍
2017/05/03 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
高一政治教学反思
2014/01/28 职场文书
学校卫生检查制度
2014/02/03 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
工地质量标语
2014/06/12 职场文书
学习教师法的心得体会
2014/09/03 职场文书
《山中访友》教学反思
2016/02/24 职场文书