zoukankan      html  css  js  c++  java
  • 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

    谢谢!

  • 相关阅读:
    P2154 [SDOI2009]虔诚的墓主人 树状数组
    P2564 [SCOI2009]生日礼物 贪心
    P2053 [SCOI2007]修车 费用流
    P1963 [NOI2009]变换序列 倒叙跑匈牙利算法
    P3705 [SDOI2017]新生舞会 分数规划 费用流
    gym/102091
    P2698 [USACO12MAR]花盆Flowerpot 单调队列
    乌龟棋
    旅行家的预算
    组合数问题
  • 原文地址:https://www.cnblogs.com/Tommy-Yu/p/5417811.html
Copyright © 2011-2022 走看看