请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

clean_data的值调用了clean之后才有的

在视频1:43秒,老师你说cleaned_data的值,是调用clean之后才放到clean_data里面的。所有我有一个问题,在重写clean的时候,调用了cleaned_data的值,是不是与老师说的"调用clean之后才放到里面"有出路呢?

  def clean(self):
        mobile = self.cleaned_data["mobile"]
        code = self.cleaned_data["code"]

        r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=0, charset="utf8", decode_responses=True)
        redis_code = r.get(str(mobile))
        if code != redis_code:
            raise forms.ValidationError("验证码不正确")
        return self.cleaned_data

正在回答 回答被采纳积分+3

1回答

提问者 Demin 2020-02-27 20:21:46
def clean(self):
    """
    Hook for doing any extra form-wide cleaning after Field.clean() has been
    called on every field. Any ValidationError raised by this method will
    not be associated with a particular field; it will have a special-case
    association with the field named '__all__'.
    """
    return self.cleaned_data

看了源代码,clean()是返回了clean_data的值;clean在field.clean()之后才被调用

0 回复 有任何疑惑可以回复我~
  • bobby #1
    是的 整体的clean方法会在每个字段的clean之后
    回复 有任何疑惑可以回复我~ 2020-02-29 16:43:25
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信