django xadmin 插件(1)

1. 插件的作用可以是全局的,也可以是只针对某个模型的。通过其

init_request控制是否加载此插件, demo如下:

class SCPCardOverviewPlugin(BaseAdminPlugin):
	pool_overview=False#默认不加载此插件
	def init_request(self, *args, **kwargs):
		return bool(self.pool_overview)
xadmin.site.register_plugin(SCPCardOverviewPlugin, ListAdminView)

  

init_request 参数中的instance为对应的model实例。

对于需要加载此插件的模型,其对应的ModelAdmin的相应属性(eg. pool_overview)改成True既可。从而实现有区别加载。

2. 插件必需在adminx.py文件中注册才能识别,为了方便统一管理可以将插件独立成一个xplugins.py文件,然后在adminx.py中引入即可。

3. 插件可以重载基类中被filter_hook修饰的方法,demo如下:

class SCPCardOverviewPlugin(BaseAdminPlugin):
       //...

	def get_list_display(self, list_display):
		if self.pool_overview:
			list_display.append(‘over_view‘)
			self.admin_view.over_view = self.over_view
		return list_display

  

get_list_display为列表中要显示的字段,“重载”该方法以加入新的字段。

第二个参数是父类同名方法的返回值或者/__ (__为父类同名方法的指针)

转载请注明本文来源:http://www.cnblogs.com/Tommy-Yu/p/5417811.html

谢谢!

时间: 2024-11-10 07:34:05

django xadmin 插件(1)的相关文章

django xadmin 插件(3) 列表视图新增自定义按钮

效果图: 编辑按钮是默认的list_editable属性对应的插件(xadmin.plugins.editable) 放大按钮对应的是自定义插件. 自定义按钮源码: xplugin.py(保证能够直接或者间接被adminx.py引用到即可) # -*- coding:utf-8 -*- import xadmin from xadmin.views import BaseAdminPlugin, ListAdminView from xadmin.views.edit import ModelF

django xadmin 插件(2) 列表视图新增一功能列

以默认的related_link为例(即最后一列). 源码:xadmin.plugins.relate.RelatedMenuPlugin class RelateMenuPlugin(BaseAdminPlugin): use_related_menu = True # ...若干删减 def related_link(self, instance): #... 若干删减 return '<div class="dropdown related_menu pull-right"

第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置

第三百九十七节,Django+Xadmin打造上线标准的在线教育平台-其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这个json文件来动态加载的.所以我们可以到它加载的json文件里下载好主题 themes.py修改方式 #coding:utf-8 from __future__ import print_function import httplib2 from django.template import lo

第三百九十六节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说

第三百九十六节,Django+Xadmin打造上线标准的在线教育平台-其他插件使用说 设置后台列表页面字段统计 在当前APP里的adminx.py文件里的数据表管理器里设置 aggregate_fields = {'字段名称':'sum为统计数,min为统计时间'} class CourseAdmin(object): # 自定义数据表管理器类 # 设置xadmin后台显示字段 list_display = ['name', 'desc', 'detail', 'degree', 'learn_

Django xadmin 使用

Django xadmin的简介 xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 Bootstrap 作为 UI 框架 编辑页面灵活布局 主页面仪表盘及小部件 过滤器强化 数据导出 强大的插件机制 项目主页:http://sshwsfc.github.io/django-xadmin/ 在线demo: http://demo.xadmin.io/

在Django Xadmin中集成Ueditor

Ueditor是由百度开发的一个开源的富文本编辑器,有人做了一个将其集成到Django中的方案(请戳),但是在xadmin中却无法正常加载编辑器. 其使用了一个模板用来呈现Ueditor的编辑界面 <textarea name={{ UEditor.name }} id=id_{{ UEditor.name }} style="display:inline-block;width:{{ UEditor.width }}px; {{ UEditor.css }}">{{UEd

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台-创建课程机构app,在models.py文件生成3张表,城市表.课程机构表.讲师表 创建名称为app_organization的课程机构APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime import datetim

第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表

第三百七十六节,Django+Xadmin打造上线标准的在线教育平台-创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为app_operation的用户操作APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime i

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装

第三百七十九节,Django+Xadmin打造上线标准的在线教育平台-xadmin的安装 xadmin介绍 xadmin是基于Django的admin开发的更完善的后台管理系统