web-dev-qa-db-fra.com

Puis-je ajouter du texte d'aide dans les champs du modèle Django

J'ai une page de détail de l'étudiant où toutes les données de l'étudiant sont affichées dans un format de journal imbriqué.

Maintenant, dans le formulaire, je sais que je peux ajouter un texte d'aide. Mais à présent, mon responsable souhaite que, lorsque nous affichons la page de détail, vous puissiez trouver de l'aide pour survoler chaque champ.

Maintenant, je ne sais plus où devrais-je entrer du texte d'aide de 50 à 100 mots pour chaque tableau de 5-6 tableaux

Voici comment j'ai utilisé help_text dans les formulaires:

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

Oui, vous pouvez! Tout comme votre formulaire, vous pouvez ajouter help_text à vos champs de modèle.

29
nim4n

Par «page de détail», vous entendez un formulaire de modification d’une seule instance d’élève ou la liste de tous les enregistrements d’élèves? Utilisez-vous l’administrateur Django ou utilisez-vous vos propres vue et modèle, définition de formulaire personnalisé ou as_ul ()?/as_list () etc? Il est difficile de répondre à votre question en affichant uniquement la définition de votre champ de formulaire.

Que voulez-vous dire par 'pour chaque table'? Est-ce que l'héritage du formulaire help, afin de définir le texte d'aide des champs de formulaire communs uniquement dans le super formulaire?.

Si vous rendez un modèle personnalisé, vous pouvez afficher le fichier help_text où vous voulez avec {{My_field.help_text}}. Si vous avez une vue de type tableau dans votre modèle et que vous voulez que le texte d’aide y soit ajouté, il vous suffit de placer une instance vide du formulaire dans votre contexte de modèle afin de pouvoir accéder à help_texts et de le placer dans votre tableau comme info-bulle?

3
djangonaut

Après avoir ajouté help_texts dans le formulaire, vous devriez faire comme ceci dans une interface:

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

Lorsque vous utilisez des formulaires de modèle, vous pouvez ajouter des étiquettes et des help_texts aux champs générés par le modèle. voir docs

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

Si vous souhaitez utiliser le formulaire standard de modification de l’administrateur avec un texte d’aide abrégé pour chaque champ, mais que vous ressentez parfois le besoin de donner une explication plus longue ou même un tableau avec quelques exemples de valeurs (sans limiter l’utilisateur à un ensemble de choix prédéfini) vous pouvez faire quelque chose comme ça:

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')

De cette façon, vous obtenez un court texte "facteur corr. X> = 1" suivi d'un point d'interrogation astucieux qui présente un tableau comme une info-bulle sans qu'il soit nécessaire de modifier le modèle change_form.

0
ecp