2012-10-21 102 views
5

我想向django-admin-tools上的ModelList組添加自定義鏈接。我嘗試過,但沒有顯示鏈接。我錯過了什麼?如何在django-admin-tools儀表板上添加自定義菜單項

class CustomIndexDashboard(Dashboard): 
    columns = 2 

    def __init__(self, **kwargs): 
     Dashboard.__init__(self, **kwargs) 

     grupo = modules.ModelList('Matrículas', 
      [ 'core.models.Aluno', 
      'core.models.Matricula', 
      'core.models.ModuloAtivo', 
      ]) 

     item = items.MenuItem(u"Orçamentos", "%s%s" % (reverse('admin:core_matricula_changelist'), "?status__exact=O")) 

     grupo.children += [ item ] 

     self.children += [ grupo, 

      modules.ModelList('Controle de Presença', [ 
              'core.models.Aula', 
              'core.models.Pauta', 
              'core.models.Presenca', 
              'core.models.PautaModulo',        
              ]) 
     ] 
+0

它顯示應用程序與它的模型,而不是鏈接?還是不顯示任何內容? – Paulo

+0

它正確顯示所有型號。但是「Orçamentos」顯示爲文本而不是鏈接。 – Josir

回答

0

我遇到了同樣的問題,並試圖用items.MenuItem像你這樣的,但我得到了一個錯誤:

'MenuItem' object has no attribute 'id'.

然後我來到follwing解決方案:
即使我們只需要一個環節,我們應該創建LinkList

link = modules.LinkList(
      title='', # the title is empty for better looking 
      children=[ 
       [_(u'My link'), reverse('admin:custom_view')], 
      ] 
     ) 

這是我們ModelList

models = modules.ModelList(
      models=(
       'app.models.Model1', 
       'app.models.Model2', 
       ) 
      ) 

而且Group,我們同型號團結鏈接:

a_group = modules.Group(
      title=u'My group', 
      display="stacked", 
      children=[ 
       models, 
       link 
      ] 
     ) 

就用a_group任何你想要的。

相關問題