Comment définir la classe css d'une étiquette dans une déclaration de formulaire django?

Je suis en utilisant django-uniforme et à l'utilisation de certains uniformes de fonctionnalités, je suis à la recherche d'un moyen d'ajouter de la classe css directement à partir du formulaire de déclaration (pour les indépendants widgets).

(comme un bonus, voici mon réutilisables en lecture seule à la maison fait mixin extrait...)

from django import forms

def _get_cleaner(form, field):
    def clean_field():
        return getattr(form.instance, field, None)
    return clean_field

class UniformROMixin(forms.BaseForm):
    """
    UniformROMixin, inherits to turn some fields read only

      - read_only = list of field names.
    """

    def __init__(self, *args, **kwargs):
        super(UniformROMixin, self).__init__(*args, **kwargs)
        if hasattr(self, "read_only"):
            if self.instance and self.instance.pk:
                for field in self.read_only:
                    self.fields[field].widget.attrs['readonly'] = True
                    self.fields[field].widget.attrs['class'] += "readOnly"
                    # here I would like to set css class of the label
                    # created from the self.fields[field].label string
                    setattr(self, "clean_" + field, _get_cleaner(self, field))

Mon seul moyen pour l'instant est d'ajouter un peu de javascript sur mon formulaire générique de modèle et ajouter des classes à la main.

Tout brillant comme idée?

source d'informationauteur christophe31

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *