web-dev-qa-db-de.com

Kann ich Hilfetext in Django-Modellfeldern hinzufügen?

Ich habe eine Studentendetailseite, auf der alle Studentendaten in einem Protokoll verschachtelt dargestellt werden.

Nun kann ich in dem Formular, das ich weiß, einen Hilfetext hinzufügen. Aber jetzt möchte mein Manager, wenn wir die Detailseite anzeigen, sollte es helfen, über jedes Feld zu schweben.

Jetzt bin ich verwirrt, wo ich 50-100 Hilfetext für jede Tabelle in 5-6 Tabellen eingeben soll

So habe ich help_text in den Formularen verwendet:

student_number = forms.CharField(
        required=False, max_length=64, label='Student Number',
        help_text='Unique identifier for the student ')
15
user26

Ja, du kannst! Genau wie Ihr Formular können Sie help_text zu Ihren Modellfeldern hinzufügen.

29
nim4n

Mit "Detailseite" meinen Sie ein Bearbeitungsformular einer einzelnen Schülerinstanz oder die Liste aller Schülerdatensätze? Verwenden Sie den Django-Administrator oder verwenden Sie Ihre eigene Ansicht und Vorlage, benutzerdefinierte Formulardefinition oder as_ul ()./as_list () etc Es ist schwierig, Ihre Frage zu beantworten, indem Sie nur Ihre Formularfelddefinition sehen.

Was meinen Sie mit "für jede Tabelle"? Würde Vererbung bilden help, so dass Sie den Hilfetext allgemeiner Formularfelder nur im Superformular festlegen.

Wenn Sie eine benutzerdefinierte Vorlage rendern, können Sie den Hilfetext mit {{My_field.help_text}} an beliebiger Stelle rendern. Wenn Sie eine tabellarische Ansicht in Ihrer Vorlage haben und den Hilfetext dort haben möchten, fügen Sie einfach eine leere Instanz des Formulars in Ihren Vorlagenkontext ein, damit Sie auf die help_texts zugreifen können, und fügen Sie sie als Tooltip in Ihre Tabelle ein.

3
djangonaut

Nachdem Sie help_texts im Formular hinzugefügt haben, sollten Sie Folgendes in einem Frontend tun:

<label title="{{ form.name.help_text }}" for="{{ form.name.id_for_label }}">Your label</label> 
{{ form.name }} {{ form.quantity }}
2
Radren

Bei der Verwendung von Modellformularen können Sie den vom Modell generierten Feldern Beschriftungen und Hilfetexte hinzufügen. siehe Dokumente

class PupilForm(forms.ModelForm):

  class Meta:
    model = Pupil

    fields = ['student_number',]
    labels = {'student_number': "Student Number",}
    help_texts = {'student_number': "Unique identifier for the student",}
1
tomcounsell

Wenn Sie das Standard-Formular zur Änderung des Administrators mit einem kurzen Hilfetext für jedes Feld verwenden möchten, haben Sie jedoch manchmal das Bedürfnis, eine längere Erklärung oder sogar eine Tabelle mit einigen Beispielwerten anzugeben (ohne den Benutzer auf einen vordefinierten Satz von Auswahlmöglichkeiten zu beschränken). Sie können so etwas tun:

my_strange_field = models.FloatField('strange parameter', validators=[MinValueValidator(1.0)],
                                     help_text='corr. factor x >= 1 <img src="/static/admin/img/icon-unknown.gif" '
                                               'width="15" height="15" title="typical values:\n'
                                               'cow:\t2..3\ncat:\t5..7\ndog:\t11..15')

Auf diese Weise erhalten Sie einen kurzen Text "Korrelationsfaktor x> = 1", gefolgt von einem schicken Fragezeichen, das eine Tabelle wie einen QuickInfo enthält, ohne dass die Vorlage "change_form" geändert werden muss.

0
ecp