开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
thunder-python-server
/
PythonServer
/
rendererresponse.py
thunder-python-server
/
PythonServer
/
rendererresponse.py
rendererresponse.py 3.13 KB
一键复制 编辑 原始数据 按行查看 历史
ccdok 提交于 2022年10月11日 09:27 +08:00 . 新提交
'''
自定义返回处理
'''
# 自定义异常处理
from rest_framework.views import exception_handler
from rest_framework.views import Response
from rest_framework import status
# 导入控制返回的JSON格式的类
from rest_framework.renderers import JSONRenderer
class customrenderer(JSONRenderer):
# 重构render方法
def render(self, data, accepted_media_type=None, renderer_context=None):
print("renderer_context",renderer_context)
if renderer_context:
#print(renderer_context)
#print(renderer_context["response"].status_code)
# 响应的信息,成功和错误的都是这个
#成功和异常响应的信息,异常信息在前面自定义异常处理中已经处理为{'message': 'error'}这种格式
print("data",data)
# 如果返回的data为字典
if isinstance(data, dict):
#响应信息中有message和code这两个key,则获取响应信息中的message和code,并且将原本data中的这两个key删除,放在自定义响应信息里
#响应信息中没有则将msg内容改为请求成功 code改为请求的状态码
msg = data.pop('message', '请求成功')
code = data.pop('code', renderer_context["response"].status_code)
#如果不是字典则将msg内容改为请求成功 code改为请求的状态码
else:
msg = '请求成功'
code = renderer_context["response"].status_code
#自定义返回的格式
ret = {
"header":{
'code': code,
'msg': msg,
},
"body": data,
}
# 返回JSON数据
return super().render(ret, accepted_media_type, renderer_context)
else:
return super().render(data, accepted_media_type, renderer_context)
def custom_exception_handler(exc, context):
# 先调用REST framework默认的异常处理方法获得标准错误响应对象
response = exception_handler(exc, context)
#print(exc) #错误原因 还可以做更详细的原因,通过判断exc信息类型
#print(context) # 错误信息
# print('1234 = %s - %s - %s' % (context['view'], context['request'].method, exc))
#print(response)
#如果response响应对象为空,则设置message这个key的值,并将状态码设为500
#如果response响应对象不为空,则则设置message这个key的值,并将使用其本身的状态码
if response is None:
return Response({
"header":{
"code":"500",
'msg': '{exc}'.format(exc=exc),
},
"body":None
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR, exception=True)
else:
# print('123 = %s - %s - %s' % (context['view'], context['request'].method, exc))
return Response({
"header":{
"code":"500",
'msg': '{exc}'.format(exc=exc),
},
"body":None
}, status=response.status_code, exception=True)
return response
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

接收上传数据,数据管理后台
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/wopet_admin/thunder-python-server.git
git@gitee.com:wopet_admin/thunder-python-server.git
wopet_admin
thunder-python-server
thunder-PythonServer
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /