122.简化表单错误信息的提取

在返回表单的错误信息的时候,可以通过forms.errors.get_json_data()返回字典类型的错误信息,但是这种错误信息,在观察的时候,感觉不是太友好,例如:{'telephone': [{'message': '188833332225您输入的手机号已经注册了,请确定之后重新输入!', 'code': ''}]}会显示很多前端并不关心的东西,比如'code':'',所以我们就可以简化一下错误信息的提取。

在定义form表单的文件forms.py中,定义一个函数来获取当前的errors信息,示例代码如下:

def get_errors(self):
    errors = self.errors.get_json_data()
    <!--此时的errors的形式就如同:{'telephone': [{'message': '188833332225您输入的手机号已经注册了,请确定之后重新输入!', 'code': ''}]}-->
    <!--通过for循环将key,和错误信息遍历出来-->
    new_errors = {}
    for key,message_dicts in errors.items():
        <!--message_dicts就是其中的{'message': '188833332225您输入的手机号已经注册了,请确定之后重新输入!', 'code': ''}-->
        <!--再次进行遍历-->
        <!--定义一个空的列表,用来将相同key值所有的错误message进行存储-->
        messages = []
        for message_dict in message_dicts:
            message = message_dict['message']
            messages.append(message)
       new_errors[key] = messages
    return new_errors
            
同时在views.py文件中就可以调用我们定义的简化提取错误信息的方法,并且打印出相应的错误信息,
print(forms.get_errors())
posted @ 2020-02-15 07:17  一笑而过~一笑奈何  阅读(110)  评论(0编辑  收藏  举报