当前位置: 首页 > news >正文

济南经三路专业做网站宽城网站制作

济南经三路专业做网站,宽城网站制作,wordpress 学校,市场营销策划课程在 ​​web​​​ 项目中,我们经常使用自定义状态码来告知请求方请求结果以及请求状态;在 ​​Python​​ 中该如何设计自定义的状态码信息呢? 1、普通类字典设计状态码 class RETCODE:OK "0"ERROR …

在 ​​web​​​ 项目中,我们经常使用自定义状态码来告知请求方请求结果以及请求状态;在 ​​Python​​ 中该如何设计自定义的状态码信息呢?

1、普通类+字典设计状态码

class RETCODE:OK                  = "0"ERROR               = "-1"IMAGECODEERR        = "4001"THROTTLINGERR       = "4002"NECESSARYPARAMERR   = "4003"err_msg = {RETCODE.OK                 : "成功",RETCODE.IMAGECODEERR       : "图形验证码错误",RETCODE.THROTTLINGERR      : "访问过于频繁",RETCODE.NECESSARYPARAMERR  : "缺少必传参数",
}

单独利用一个字典进行状态码信息对照,这样设计一旦状态码多了就不好对照,在使用过程中也没那么方便,简单试下组织一个成功的信息:

data = {'code': RETCODE.OK,'errmsg': err_msg[RETCODE.OK]
}

2、巧用枚举类设计状态码信息

2.1 枚举类定义

from enum import Enumclass StatusCodeEnum(Enum):"""状态码枚举类"""OK = (0, '成功')ERROR = (-1, '错误')SERVER_ERR = (500, '服务器异常')

普通的类继承 ​​enum​​​ 模块中的 ​​Enum​​ 类就变成了枚举类。枚举类中的每一个属性都返回一个枚举对象,其中枚举对象有两个重要的属性 ​​name​​​, ​​value​​。

  • name枚举对象在枚举类中的属性名
  • value则是枚举对象在枚举类中对应属性名的值

用枚举类组组织一个成功的响应信息:

code = StatusCodeEnum.OK.value[0]
errmsg = StatusCodeEnum.OK.value[1]
data = {'code': code,'errmsg': errmsg
}

2.2 封装枚举类,定义错误码

from enum import Enumclass StatusCodeEnum(Enum):"""状态码枚举类"""OK = (0, '成功')ERROR = (-1, '错误')SERVER_ERR = (500, '服务器异常')@propertydef code(self):"""获取状态码"""return self.value[0]@propertydef errmsg(self):"""获取状态码信息"""return self.value[1]

通过 ​​@property​​ 装饰器把类型的方法当属性使用,由于 枚举类.属性名 对应着不同的枚举对象就很好的把状态码和信息进行了封装。看看外部调用的结果:

data = {'code': StatusCodeEnum.OK.code,'errmsg': StatusCodeEnum.OK.errmsg
}

2.3 项目代码样例

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Desc: { 项目枚举类模块 }from enum import Enumclass StatusCodeEnum(Enum):"""状态码枚举类"""OK = (0, '成功')ERROR = (-1, '错误')SERVER_ERR = (500, '服务器异常')IMAGE_CODE_ERR = (4001, '图形验证码错误')THROTTLING_ERR = (4002, '访问过于频繁')NECESSARY_PARAM_ERR = (4003, '缺少必传参数')USER_ERR = (4004, '用户名错误')PWD_ERR = (4005, '密码错误')CPWD_ERR = (4006, '密码不一致')MOBILE_ERR = (4007, '手机号错误')SMS_CODE_ERR = (4008, '短信验证码有误')ALLOW_ERR = (4009, '未勾选协议')SESSION_ERR = (4010, '用户未登录')DB_ERR = (5000, '数据错误')EMAIL_ERR = (5001, '邮箱错误')TEL_ERR = (5002, '固定电话错误')NODATA_ERR = (5003, '无数据')NEW_PWD_ERR = (5004, '新密码错误')OPENID_ERR = (5005, '无效的openid')PARAM_ERR = (5006, '参数错误')STOCK_ERR = (5007, '库存不足')@propertydef code(self):"""获取状态码"""return self.value[0]@propertydef errmsg(self):"""获取状态码信息"""return self.value[1]

参考资料

  • Python之错误码设计:https://blog.51cto.com/u_11045899/5346632
http://www.yayakq.cn/news/849816/

相关文章:

  • 取消工法建设部网站医院系统网站建设
  • 乐达网站建设秦皇岛黄金海岸收费吗
  • 中职学校网站建设的厂家化妆品推广软文
  • 做网站 免费字体网站建设唯特和凡科哪个好
  • 网站被镜像怎么做2021年世界500强企业排名
  • 成都移动端网站建设药材网技术网站建设
  • 泉州网站制作哪个好薇做机械的有什么网站
  • 莱芜金点子网站wordpress前台不显示
  • 网站建设技术包括哪些内容网站 空间 备案
  • 网站站长如何赚钱软文写作网站
  • 做网站和做网页一样吗常用的软件开发文档有哪些
  • 网站建设合同 技术合同婚纱设计工作室
  • 学网站建设工作室网站建设费用标准
  • 如何建设一个自己+的网站首页鲅鱼圈做网站网工资页多少钱一个月
  • 东莞合网站建设湖南网站制作团队
  • 网站设计制作的连接方式遵义网站页设计制作
  • 网址导航网站制作工具外包是做什么的
  • 网上接单做效果图哪个网站好中国化工网网站建设建议
  • 备案网站名做招聘网站创业
  • asp网站开发实训报告阿里云空间如何安装wordpress
  • 企业网站板块wordpress 3.3.2
  • 网站仿制可用于商业吗模板建站和开发网站区别
  • 网络游戏的发展历程百度网站排名优化价格
  • 网站搭建平台有哪些wordpress视频调整方向
  • wordpress如何从网站登录后台朔州做网站的公司
  • wordpress页面转移凡科建的网站怎么做seo
  • 企业网站建设代理加盟做网站麻烦不
  • c 做商务网站方便吗杭州北京网站建设公司哪家好
  • 公司网站建设需求说明书wordpress分类目录去页眉
  • 如何开网站做代销wordpress 文字 居中