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())
    
    始于才华,忠于颜值;每件事情在成功之前,看起来都是天方夜谭。一无所有,就是无所不能。
  • 相关阅读:
    php 投票系统
    PHP 单例模式和工厂模式
    php面向对象的三大特性——封装、继承、多态
    springmvc web.xml配置之 -- SpringMVC IOC容器初始化
    springmvc web.xml配置之 -- ContextLoaderListener
    非root用户使用1024以下端口
    nginx部署(普通用户)
    观察者模式之--事件监听模式
    设计模式之--观察者模式
    cglib动态代理
  • 原文地址:https://www.cnblogs.com/guyan-2020/p/12310567.html
Copyright © 2011-2022 走看看