0

フォームにあるフィールドをループして、フィールドウィジェットのクラス属性を更新するのに問題があります。これが私のループです:

for field in form:
    try:
        field.widget.attrs['class'] += " invalid"
    except:
        pass

私は一生、その理由を理解することができません。これがフィールドウィジェットにアクセスする正しい方法だと思いました。

4

1 に答える 1

2

これを試して:

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" 場合、次のようなことを行うためにキーエラーがスローされることです。classfield.field.widget.attrs['class'] = field.field.widget.attrs['class'] + " invalid"

于 2013-03-23T14:37:29.260 に答える