フォームにあるフィールドをループして、フィールドウィジェットのクラス属性を更新するのに問題があります。これが私のループです:
for field in form:
try:
field.widget.attrs['class'] += " invalid"
except:
pass
私は一生、その理由を理解することができません。これがフィールドウィジェットにアクセスする正しい方法だと思いました。
フォームにあるフィールドをループして、フィールドウィジェットのクラス属性を更新するのに問題があります。これが私のループです:
for field in form:
try:
field.widget.attrs['class'] += " invalid"
except:
pass
私は一生、その理由を理解することができません。これがフィールドウィジェットにアクセスする正しい方法だと思いました。
これを試して:
for field in form:
try:
field.field.widget.attrs['class'] = (field.field.widget.attr.get('class') or '') + " invalid"
except Exception as e:
print e
問題
は、キーがまだ存在しない
field.field.widget.attrs['class'] += " invalid"
場合、次のようなことを行うためにキーエラーがスローされることです。class
field.field.widget.attrs['class'] = field.field.widget.attrs['class'] + " invalid"