Django——Xadmin内置插件
来源:互联网 发布:iphone铃声助手 mac 编辑:程序博客网 时间:2024/04/30 17:05
一、Action
功能
Action插件在数据列表页面提供了数据选择功能,选择后的数据可以经过Action做特殊的处理,默认提供的Action为批量删除功能。
截图
使用
开发者可以设置 Model OptionClass 的 actions 属性, 该属性是一个列表, 包含您想启用的 Action 的类. 系统已经默认内置了删除数据的 Action, 当然您可以自己制作 Action 来实现特定的功能, 制作 Action 的过程如下.
首先要创建一个 Action 类, 该类需要继承 BaseActionView. BaseActionView 是 ModelAdminView 的子类:
然后在 Model 的 OptionClass 中使用这个 Action:
这样就完成了自己的Action
API
class xadmin.plugins.actions.ActionPlugin(admin_view)
实例
在贴纸中增加批量设置状态标志的Action
1.在sticker_about_admin.py中 from xadmin import views
2.写批量设置为正常和删除的类
class DoOrdinary_0(views.Action):
verbose_name = '批量设置为正常'
def do_action(self, queryset): #queryset,本质上是一个给定的模型的对象列表,它是有序的。
#Book.objects.all() all()返回的就是Book实例的一个QuerySet,它正好包括allBookinstances
#Book.objects.filter(year _published__gt = 1990) 返回1990之后出版的所有书
#Book.objects.exclude(author = 'Bob') 返回除了作者为Bob的所有书
#Book.objects.order_by('author') 返回所有的书按作者排序
request = self.request
for obj in queryset:
obj.status = 0
obj.save()
self.msg('设置成功', 'success')
3.在class StickerAdmin下定义函数
def queryset(self):
return self.model._default_manager.get_query_set().filter() #在filter中添加限制条件
4.在class StickerAdmin下添加 actions = (DoOrdinary_0,)
二、数据过滤器
功能
在数据列表页面提供数据过滤功能,包括:模糊搜索、数字范围搜索、日期搜索等
截图
使用
在 Model OptionClass 中设置以下属性:
list_filter 属性:
该属性指定可以过滤的列的名字, 系统会自动生成搜索器
search_fields 属性:
属性指定可以通过搜索框搜索的数据列的名字, 搜索框搜索使用的是模糊查找的方式, 一般用来搜素名字等字符串字段
free_query_filter 属性:
默认为 True , 指定是否可以自由搜索. 如果开启自由搜索, 用户可以通过 url 参数来进行特定的搜索, 例如:
使用过滤器的例子:
class StickerAdmin(object): verbose_name = '贴纸' menu_group = 'vtalk_group' list_display = ('id','title','img_tz','cat','tag','status','create_time') list_filter = ('cat','status','create_time') search_fields = ('title','id') app_label = 'oms' actions = (DoOrdinary_0, DoOrdinary_1)
三、数据导出
功能
该插件在数据列表页面提供了数据导出功能,可以导出Excel,CSV,XML,json格式。
截图
使用
如果想要导出Excel数据,需要安装xlwt。
默认情况下,xadmin会提供Excel,CSV,XML,json四种格式的数据导出,可以通过设置OptionClass的list_export属性来指定使用哪些导出格式(四种格式分别用xls,csv,xml,json表示)或是将list_export设置为None来禁用数据导出功能,示例如下:
list_export = ('xls', 'xml', 'json')list_export_fields = ('id', 'title', 'status', 'create_time')四、图表插件
功能
在数据列表页面,跟列表数据生成图表,可以指定多个数据列,生成多个图表。
截图
使用
在Model OptionClass 中设定data_charts属性,该属性为dict类型,key是图表的标示名称,value是图表的具体设置属性,示例:
图表的主要属性为:
APItitle : 图表的显示名称
x-field : 图表的 X 轴数据列, 一般是日期, 时间等
y-field : 图表的 Y 轴数据列, 该项是一个 list, 可以同时设定多个列, 这样多个列的数据会在同一个图表中显示
order : 排序信息, 如果不写则使用数据列表的排序
class xadmin.plugins.chart.ChartsPlugin(admin_view)
class xadmin.plugins.chart.ChartsView(request, *args, **kwargs)
五、书签
功能
记录数据列表页面特定的数据过滤,排序等结果,添加的书签还可以在首页仪表盘中作为小组件添加
截图
使用
在Model OptionClass中设定如下属性:
show_bookmarks 属性:
设置是否开启书签功能, 默认为 True
list_bookmarks 属性:
设置默认的书签. 用户可以在列表页面添加自己的书签, 你也可以实现设定好一些书签, 使用实例如下:
功能
该插件在数据列表页面提供了定时刷新功能,对于需要实时刷新列表页面查看即时数据的情况非常有用。
截图
使用
使用数据刷新插件非常简单, 设置 OptionClass 的 refresh_times 属性即可. refresh_times 属性是存有刷新时间的数组. xadmin 默认不开启该插件. 示例如下:
功能
该插件可以在列表页中显示相关字段的详细信息,使用Ajax在列表页中显示。
截图
使用
使用该插件主要设置 OptionClass 的 show_detail_fields, show_all_rel_details 两个属性. show_detail_fields 属性设置哪些字段要显示详细信息, show_all_rel_details 属性设置时候自动显示所有关联字段的详细信息, 该属性默认为 True. 示例如下:
功能
该插件可以在列表页中即时编辑某字段的值,使用Ajax技术,无需提交或刷新页面即可完成数据的修改,对于需要频繁修改的字段(如:状态)相当有用。
截图
使用
使用该插件主要设置 OptionClass 的 list_editable 属性. list_editable 属性设置哪些字段需要即时修改功能. 示例如下:
- Django——Xadmin内置插件
- Django——Xadmin中的功能
- Django——Xadmin中添加显示图片函数
- django学习——python 3.6下实现xadmin
- Django——Xadmin中使用form限制对条目id列表
- Django——Xadmin推荐标签中添加自动添加标签ID、创建人标识函数
- Django Xadmin安装
- Django-xadmin的使用
- Django学习--xadmin
- Django xadmin注册
- Django xadmin全局配置
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(13)——xadmin介绍
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(15)——xadmin的扩展
- django集成xadmin的方法
- Django 安装Xadmin后台管理
- django xadmin 安装和使用
- Django xadmin使用自定义列表
- Django xadmin开启搜索功能
- HTTP协议详解
- dom修改
- iOS 开发 屏幕尺寸 --------开发者必备
- [Python]输出中文报错的解决方法
- 开源、高效、跨平台:深剖Google FlatBuffers工作原理
- Django——Xadmin内置插件
- nyoj71独木舟上的旅行
- Android中View的加载和显示
- Python在终端不换行打印输出
- 纯css 实现tab效果
- 捕获input 文本框内容改变的事件(onchange,onblur,onPropertyChange比较)
- C#(源码)操作Excel大全2
- C# Redis API
- spring4泛型初探----一个小例子