webentwicklung-frage-antwort-db.com.de

Formularfeldbeschreibung in Django admin

Wie füge ich einen Hinweis für das Formularfeld in Django admin wie im nächsten Beispiel hinzu?

form field description in Django admin

(hier: URL und Content Beschreibungen werden mit grauer Farbe unter Feld angezeigt)

67
megido

Beim Definieren Ihrer Felder in models.py:

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

Speicher diesen Link als Lesezeichen:

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

Ich beziehe mich die ganze Zeit darauf (nicht nur für den Hilfetext, sondern für alles, was mit Modellfeldern zu tun hat)!

110
Timmy O'Mahony

Zusätzlich zu Timmys Antwort können Sie, wenn Sie zusätzlichen Hilfetext und hilfreiche Markups anzeigen möchten, auch individuelle Formularfelder und anzeigen Fügen Sie ein Beschreibungsfeld hinzu. Angenommen, Sie möchten das Feld Content in einen eigenen Fieldset-Block aufteilen und einen ausführlichen Hilfetext hinzufügen. Sie können etwas tun wie:

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)

Weitere Informationen finden Sie im Bereich Django-Dokumente (Bildlauf nach unten zu den Feldgruppen).

20
tatlar