django中xadmin管理器常用显示的设置方式有哪些
这篇文章主要介绍了django中xadmin管理器常用显示的设置方式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
课程管理器:
classCourseAdmin(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='fafa-check-square' #设置字段可以直接在列表页修改 list_editable=['desc','degree'] #设置默认排序 ordering=['-click_nums'] #设置详情页面只读显示 readonly_fields=['fav_nums','click_nums'] #设置详情页面不显示某个字段 exclude=['add_time'] #自动刷新列表页面(秒数) refresh_times=[3,5] defqueryset(self): #重载queryset方法,进行过滤 qs=super(CourseAdmin,self).queryset() #只显示is_banner=True的课程 qs=qs.filter(is_banner=False) returnqs defsave_models(self): #在保存课程的时候统计课程机构的课程数 #obj实际是一个course对象 obj=self.new_obj #对当前课程进行保存,否则统计的课程数会少一个 obj.save() ifobj.course_orgisnotNone: course_org=obj.course_org course_org.course_nums=Course.objects.filter(course_org=course_org).count() course_org.save()
CourseOrg是Course的一个外键
课程机构管理器:
classCourseOrgAdmin(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' classLessonInline(object): model=Lesson extra=0 classCourseResourceInline(object): model=CourseResource extra=0 #inlines实现在添加course的同时,在同页面添加相应的章节与课程资源 classCourseAdmin(object): inlines=[LessonInline,CourseResourceInline]#增加章节和课程资源
补充知识:Django之定制属于自己的admin
在admin.py中使用:admin.site.register(models.类名)
#register中可以看出register中还有一个参数admin_class=None: defregister(self,model_or_iterable,admin_class=None,**options): ifnotadmin_class: admin_class=ModelAdmin
register中可以看出register中还有一个参数admin_class=None,据此我们可以定制自己的admin
classUserAdmin(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管理器常用显示的设置方式有哪些”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!
推荐阅读
-
浅析Django接口版本控制
-
Django+Celery实现定时任务的示例
-
Python(django中如何使用restful框架)
-
Django实现drf搜索过滤和排序过滤
-
Django中怎么将ValuesQuerySet转换成json
今天就跟大家聊聊有关Django中怎么将ValuesQuerySet转换成json,可能很多人都不太了解,为了让大家更加了解,小编...
-
Django分页器的使用方法
这篇文章主要介绍了Django分页器的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面...
-
Python Django搭建文件下载服务器的实现shili
-
在Django中如何使用MQTT的方法
这篇文章主要介绍了在Django中如何使用MQTT的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有...
-
Django开发RESTful API怎么实现增删改查
-
Django如何显示可视化图表的实践