web-dev-qa-db-fra.com

Django Admin ListView personnaliser le nom de la colonne

Ok donc j'ai une personnalisation Django administrateur construit à partir d'un modèle d'auteur:

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

Mais dans le Django Admin ListView Le titre de la colonne de la colonne personnalisée n'a pas de capitalisation appropriée. capitalization matters dammit!

Est-ce que quelqu'un sait comment remplacer les en-têtes de colonne construits à partir des noms de fonction personnalisés?

J'ai essayé:

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

et

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

Utilisation:

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

Il est enterré dans le admin Docs . short_description, spécifiquement, est à peine mentionné sous la discussion de list_display (plus par exemple que réellement appelé). Les autres articles comme celui-ci sont similiés dans les documents administratifs, mais voici un résumé:

  • short_description: le titre de la colonne à utiliser (chaîne)
  • allow_tags: Qu'est-ce que le nom dit ... Utilisez-vous HTML (True ou False)
  • admin_order_field: champ sur le modèle pour commander cette colonne par (chaîne, nom de champ)
  • boolean: indique que la valeur de retour est boolean et signale l'administrateur pour utiliser le bon chèque vert graphique/rouge X (True ou False)
60
Chris Pratt