zoukankan      html  css  js  c++  java
  • 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())
    
    始于才华,忠于颜值;每件事情在成功之前,看起来都是天方夜谭。一无所有,就是无所不能。
  • 相关阅读:
    Building a flexiable renderer
    Indirect Illumination in mental ray
    我的心情
    Cellular Automata
    Subsurface Scattering in mental ray
    Shader Types in mental ray
    BSP Traversal
    我的渲染器终于达到了MR的速度
    How to handle displacement and motion blur
    说明
  • 原文地址:https://www.cnblogs.com/guyan-2020/p/12310567.html
Copyright © 2011-2022 走看看