2009-12-31 5 views
1

J'essaye d'obtenir si nécessaire "*" dans la balise. Un peu près de cetteChamps de formulaire personnalisés django

<label for="id_name"><strong>Name</strong> <em>*</em></label> 

Avec label_tag

{{ field.label_tag }} 

qu'elle génère

<label for="id_city">City</label> 

cela commence et ferme étiquette d'étiquette, comment insérer "*" avant la fermeture

ce hack semble fonctionner,

<label for="id_{{ field.label }}">{{ field.label }} 
{% if field.field.required %}<em>*</em>{% endif %}</label> 

il ne fonctionne pas comme label id champ serait différent de celui libellé de champ, comme « nom » et non « Nom »

Répondre

2

Votre code est très similaire à this Django snippet. Un commentaire suggère qu'il y en utilisant:

<label for="{{ field.auto_id }}"> 

au lieu de votre:

<label for="id_{{ field.label }}"> 

Vous pouvez également essayer this snippet comme une alternative.

0

modèle:

<label for="{{ user_form.first_name.id_for_label }}" class="{{ user_form.first_name.css_classes }}">{{ user_form.first_name.label }}{{ user_form.label_suffix }}</label> 

forms.py:

class UserChangeForm(DjangoUserChangeForm): 
    error_css_class = 'field_error' 
    required_css_class = 'field_required' 

CSS:

.field_required:after { 
    content: " *"; 
} 
Questions connexes