2017-09-11 46 views
0

我在Django視圖中獲取窗體的第一個錯誤時出現問題。下面是我做的:在django視圖中獲取第一個窗體錯誤

views.py

frm = PasswordChangeForm(request.user,request.POST) 
    if frm.is_valid(): 
     frm.save() 
    else:   
     jsonStringErrors = frm.errors.as_json() 
     jsonErrors = loads(jsonStringErrors) 
     old_passwordError = jsonErrors['old_password']     
     if old_passwordError: 
      context["error"] = old_passwordError[0]["message"] 
     else: 
      new_passwordError = jsonErrors["new_password2"] 
      if new_passwordError: 
       context["error"] = new_passwordError[0]["message"] 
      else: 
       context["error"] = frm.errors.as_text() 

當用戶正確輸入密碼,我得到第7行的錯誤,所以我試圖

old_passwordError = jsonErrors.items()[0] 

也是這個

old_passwordError = jsonErrors.keys()[0] 

但我得到這個錯誤

'dict_keys' 對象不支持索引

評論歡迎,並感謝您的閱讀。

回答

0

您可以嘗試使用list(jsonErrors.keys())[0]而不是jsonErrors.keys()[0]

keys()方法返回dict_keys對象,該對象不支持索引。因此,將它轉換爲列表將允許您通過特定索引訪問元素。

相關問題