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 将字符串转换成字典dict
Mar 24 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
Django处理文件上传File Uploads的实例
May 28 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
如何基于matlab相机标定导出xml文件
Nov 02 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
May 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
php实现webservice实例
2014/11/06 PHP
php获取错误信息的方法
2015/07/17 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JavaScript中this详解
2015/09/01 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
js前端导出Excel的方法
2017/11/01 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
python多线程http下载实现示例
2013/12/30 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
Python常用的json标准库
2019/02/19 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
Python 使用office365邮箱的示例
2020/10/29 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
成品仓管员岗位职责
2013/12/11 职场文书
租房协议书
2014/09/12 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
Python实现拼音转换
2021/06/07 Python