問題1: 注冊頁面輸入為空,報錯:keyError:找不到password
def clean(self):
print("---",self.cleaned_data)
# if self.cleaned_data["password"]==self.cleaned_data["repeat_password"]:
# 報錯原因:self.cleaned_data是干凈數據,如果頁面沒有輸入內容,則self.cleaned_data沒有password。
改如下:
if self.cleaned_data.get("password")==self.cleaned_data.get("repeat_password"):
return self.cleaned_data
else:
raise ValidationError("兩次密碼不一致")
2 為什么要用全局clean():




按子段順序一一校驗,即校驗到username時,你無法使用self.cleaned_data.get("password")。
而局部鈎子使用完,到全局時,已經可以使用所有的self.cleaned_data
3

