2012-10-21 20 views
5

पर कस्टम मेनू आइटम को जोड़ने के लिए कैसे मैं django-admin-tools पर मॉडललिस्ट समूह में एक कस्टम लिंक जोड़ना चाहता हूं। मैंने कोशिश की लेकिन यह लिंक नहीं दिखाया। मैं क्या खो रहा हूँ ?django-admin-tools dashboard

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')], 
      ] 
     ) 

यहाँ हमारेहै:

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 तो बस का उपयोग कहीं भी आप चाहते हैं।

संबंधित मुद्दे