私は django でいくつかのカスタム フォームを作成してきましたが、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
それが私が属性をフィールドに添付した方法です。
<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>
私はその属性にアクセスしようとしています:
class="{{form.id_diagnosis.class}}", class="{{form.id_diagnosis.widget.class}}"
また、アクセス可能なものとそうでないものに関する明確なドキュメントが見つからないようです。本当に、私はdjangoの「フレンドリーな」ドキュメントよりも昔ながらのドキュメントの方が好きです