django中xadmin管理器常用显示的设置方式有哪些

这篇文章主要介绍了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管理器常用显示的设置方式有哪些”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!

发布于 2021-05-10 20:36:44
收藏
分享
海报
0 条评论
162
上一篇:Android studio3.6中JNI教程之helloworld的思路分析 下一篇:Tensorflow如何设置显存自适应,显存比例的操作
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码