Description du champ de formulaire dans django admin

Comment ajouter un indice pour le champ de formulaire dans django admin comme dans l'exemple suivant?

Description du champ de formulaire dans django admin

(ici: URL et Contenu descriptions sont affichés avec une couleur grise sous champ)

57
demandé sur megido 2011-06-03 22:43:13

2 réponses

Lors de la définition de vos champs dans models.py:

myfield = models.CharField(max_length=100, help_text="This is the grey text")

Signet ce lien:

Https://docs.djangoproject.com/en/dev/ref/models/fields/#help-text

Je me retrouve à y faire référence tout le temps (pas seulement pour help_text, mais pour tout ce qui a trait aux champs de modèle)!

90
répondu Timmy O'Mahony 2011-07-13 21:42:52

En plus de la réponse de Timmy, si vous voulez afficher du texte d'aide supplémentaire et que vous voulez aussi avoir un balisage utile, vous pouvez afficher un formulaire individuel fieldsets et Ajouter un champ description. En utilisant votre exemple, disons que vous vouliez casser le ChampContent dans son propre bloc fieldset et ajouter du texte d'aide verbeux. Vous pouvez faire quelque chose comme:

from mymodel.models import MyModel
from django.contrib import admin

"""
Custom Help Text
"""
CONTENT_HELP_TEXT = ' '.join(['<p>Here is some multi-line help',
                              'which is a long string so put',
                              'into a list which is then joined',
                              'with spaces. I can do fun things',
                              'like have <strong>bold</strong>',
                              'and some line breaks.<br/>'])
"""
Customize Admin
"""
class MyModelAdmin(admin.ModelAdmin):
    """
    Add your other customizations
    like actions, list_display, list filter, etc
    """
    fieldsets = [
        ('Content', {
            'fields':('content',),
            'description': '<div class="help">%s</div>' % CONTENT_HELP_TEXT,
        }),
    ]

admin.site.register(MyModel, MyModelAdmin)

Plus d'informations dans les documents Django (Faites défiler jusqu'aux fieldsets) zone.

18
répondu tatlar 2013-11-11 19:39:48