2012-03-14 15 views
19

Ok, quindi ho un amministratore Django personalizzato costruito da un Autore Modello:Django Admin ListView Personalizza Nome colonna

class AuthorAdmin(admin.ModelAdmin): 
    """ 
    Author Admin 
    """ 
    form = AuthorForm 

    list_display = ['profile_photo', 'first_name', 'last_name', 'title'] 
    search_fields = ['first_name', 'last_name', 'title', 'credential'] 
    prepopulated_fields = {'slug': ('first_name', 'last_name', 'title')} 

    def profile_photo(self, obj) : 
     return '<img src="%s" title="%s" />' % (resize_image(obj.photo, '100x100'), obj.title) 

    profile_photo.allow_tags = True 

Ma nel listview Django Admin il titolo della colonna per la colonna personalizzata non ha la capitalizzazione. capitalization matters dammit!

Qualcuno sa come eseguire l'override delle intestazioni di colonna create dai nomi delle funzioni personalizzate?

ho provato:

def my_function(self, obj) : 
    """My Custom Title""" 
    ... 

e

def my_function(self, obj) : 
    class Meta: 
     verbose_name = _(u"My Custom Title") 

risposta

39

Usa:

def my_function(self, obj) : 
    """My Custom Title""" 
    ... 
my_function.short_description = 'This is the Column Name' 

E 'sepolto nel admin docs. short_description, in particolare, è appena menzionato nella discussione di list_display (più per esempio di quanto effettivamente chiamato). Le altre voci di questo tipo sono similiarly sepolti nella documentazione di amministrazione, ma ecco un riassunto:

  • short_description: il titolo della colonna da usare (stringa)
  • allow_tags: quello che dice il nome ... ti permette di utilizzare HTML (True o False)
  • admin_order_field: un campo sul modello per ordinare questa colonna (stringa, nome del campo)
  • boolean: indica il valore di ritorno è booleano e segnala l'amministratore di utilizzare la bella di spunta verde grafica/rosso X (True o False)
+0

funziona benissimo, c'è qualche pagina nei documenti in cui posso leggere di più su questa e altre funzionalità come questa? –

+1

Vedere l'aggiornamento sopra. –