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())
始于才华,忠于颜值;每件事情在成功之前,看起来都是天方夜谭。一无所有,就是无所不能。