Accès au champ de formulaire attributs basés sur des modèles Django
J'ai fais des formulaires personnalisés avec django, mais je ne comprends pas comment accéder à des attributs qu'un champ de formulaire est fixé par le forms.py.
def putErrorInTitle (cls):
init = cls.__init__
def __init__ (self, *args, **kwargs):
init(self, *args, **kwargs)
if self.errors:
for field_error in self.errors:
self.fields[field_error].widget.attrs['title'] = self.errors[field_error][0]
self.fields[field_error].widget.attrs['class'] = "help_text error_field"
cls.__init__ = __init__
return cls
Voilà comment j'ai attaché l'attribue au champ.
<dl class="clearfix two">
<dd>
<label for="id_diagnosis">Diagnostico:</label>
<select class="{{form.id_diagnosis.class}}" id="id_equipment_activity-{{ forloop.counter0 }}-id_diagnosis" name="equipment_activity-{{ forloop.counter0 }}-id_diagnosis">
{% for x,y in form.fields.id_diagnosis.choices %}
<option value="{{ x }}" {% ifequal form.id_diagnosis.data|floatformat x|floatformat %}selected="selected"{% endifequal %}>{{ y }}</option>
{% endfor %}
<option value="1000" {% ifequal form.id_diagnosis.data|floatformat '1000'|floatformat %}selected="selected"{% endifequal %}>Otro</option>
</select>
</dd>
<dd class="vertical_center" id="optional_diagnosis"><label for="optional_diagnosis">Diagnostico opcional:</label>{{ form.optional_diagnosis }}</dd>
</dl>
Je suis en train d'essayer d'accéder à ses attributs:
class="{{form.id_diagnosis.class}}", class="{{form.id_diagnosis.widget.class}}"
Et je ne semble pas trouver une documentation claire sur ce qui est accessible et ce qui ne l'est pas. Vraiment je préfère avoir de l'ancienne manière de la documentation de django "amicale" un
Vous devez vous connecter pour publier un commentaire.
Il semble que vous voulez juste pour afficher les erreurs de forme pour chaque champ.
Une fois que le formulaire est nettoyé ou validées dans la vue, les champs doivent contenir
les messages d'erreur. De sorte que vous pouvez les afficher dans le modèle comme suit:
Toutefois, si vous voulez vraiment pour afficher le champ de formulaire attributs, alors vous
pouvez essayer quelque chose comme:
Dans d'autres cas, il peut être utile de définir et obtenir des attributs de champ.
Réglage de la forme de la fonction init:
... et en y accédant dans un modèle: