程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

基於Django的xadmin項目應用

編輯:Python

最近一個項目用到django的xadmin改造來做,這方面資料偏少,現在吧目前自己學到的東西分享一下,一遍大家用到時候查閱。

1, classComm(Settings): 中可以實現

菜單中添加模塊和二級菜單 def get_nav_menu(self):       menus = super(Comm, self).get_nav_menu()       menus.append({           'menus': [{                 'url': '/admin/report',                 'icon': 'search',                 'perm': 'main.view_record',                 'title': '查看班報'           }],           'first_icon': 'calendar',           'title': u'班報查詢'       })       return menus   菜單中插入二級菜單   defget_nav_menu(self):       model_dict1 = {                 'url': '/cluster/index',                 'icon': 'search',                 'perm': 'main.view_record',                 'title': '概況',       }       menus = super(Comm, self).get_nav_menu()       menus[2]['menus'].insert(0, model_dict1)       return menus         設置主題可選擇         enable_themes= True         use_bootswatch = True       設置系統標題         site_title='**管系統'       設置菜單風格         menu_style = 'accordion' 設置各模塊的菜單標題,ps:這個也可以到個模塊下面的__init__.py中添加app_title= _('用戶管理')  apps_label_title = {           'auth':u'權限管理',           ‘user’:u’用戶管理’     }

2,admin查詢實現

class  PCAdmin(object):     def open_detail(self,instance):         return  "<a href='http://***/%s' target='_blank'>詳情</a>" % instance.Host     #查詢過濾 def get_list_queryset(self):         return super(PCAdmin, self).get_list_queryset().filter(HomeId__in=[1,2])     open_detail.short_description = u'PC詳情'     open_detail.allow_tags = True     open_detail.is_column = True #列表顯示字段,     list_display = ('Host','Type','Model', 'Cpu', 'Mem', 'Manager','open_detail') #open_detail添加的自定義冗余列,用於調用上面函數。     show_detail_fields = ('Host')#在此字段處預覽     list_filter = ('ClusterId','Manager', 'Host')#filter過濾器過濾字段     model_icon = 'laptop' #菜單處顯示的icon     hidden_menu=True#設置不顯示此模塊菜單

3,model注冊

TYPE = (     (1, 'PC '),   (2, '服務器') ) class  PCStatus(models.Model): Host =models.GenericIPAddressField('ip',max_length=20) #字典類型 Type =models.IntegerField('類型',choices=TYPE,blank=True,null=True) #外鍵關聯 HomeId=models.ForeignKey(HomeDict,verbose_name=’ 所屬機房 ',db_column='HomeId',blank=True,null=True)   Load = models.IntegerField('機器負載',blank=True,null=True)   CheckTime = models.DateTimeField('監測時間',blank=True,null=True)   class Meta:       verbose_name = u"機器分析"       verbose_name_plural = verbose_name   def __unicode__(self):       return "%s 機器" % self.Host


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved