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

谢谢!

转载于:https://www.cnblogs.com/Tommy-Yu/p/5417811.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值