2013-03-23 45 views
0

我無法循環遍歷表單中的字段並更新字段小部件中的類屬性。這是我的循環:以編程方式努力在我的Django表單字段小部件中更新類屬性

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

我不能爲了生活我找出原因。我認爲這將是訪問字段小部件的正確方法。

+0

有什麼確切的問題?迭代或更新類屬性? – sergzach 2013-03-23 14:10:44

+0

更新類屬性 – m1ket 2013-03-23 14:16:21

+0

爲什麼不打印異常並查看,所以我看起來像屬性字典沒有關鍵類,因爲發生了什麼是 'field.widget.attr ['class'] = filed .widget.attr ['class'] +'invalid' 並且因爲它沒有關鍵類,所以它在那裏失敗 – akotian 2013-03-23 14:20:44

回答

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" 麻煩的是,如果關鍵class已不存在它會拋出一個關鍵的錯誤,因爲它確實像 field.field.widget.attrs['class'] = field.field.widget.attrs['class'] + " invalid"

+0

謝謝。這幫助了我。最後它是: field.field.widget.attrs ['class'] =(field.field.widget.attr.get('class')or'')+「invalid」 – m1ket 2013-03-23 14:39:23

+0

很酷,我會建議你總是打印你的例外,這樣你就可以看到錯誤是什麼:) – akotian 2013-03-23 14:40:00

+1

我會根據你的評論編輯答案謝謝! – akotian 2013-03-23 14:41:03

相關問題