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判断windows系统是32位还是64位的方法
May 11 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
Python性能分析工具Profile使用实例
Nov 19 Python
python关于变量名的基础知识点
Mar 03 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
Python文件名匹配与文件复制的实现
Dec 11 Python
pandas提升计算效率的一些方法汇总
May 30 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
Protoss热键控制
2020/03/14 星际争霸
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
几行js代码实现自适应
2017/02/24 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
python写入xml文件的方法
2015/05/08 Python
windows下ipython的安装与使用详解
2016/10/20 Python
Python打印输出数组中全部元素
2018/03/13 Python
python 对象和json互相转换方法
2018/03/22 Python
python实现图片彩色转化为素描
2019/01/15 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
十月围城观后感
2015/06/08 职场文书
新党员入党决心书
2015/09/22 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
Python 内置函数速查表一览
2021/06/02 Python