Django中restframework 的自定义结构、字段验证、分页、过滤、搜索

Django中restframework 的返回自定义结构、字段验证、

这篇博客基于我之前的博客[Django 中 restframework 配置与增删改查操作]:

返回学生的所有数据;

自定义结构:

在setting中配置app,INSTALLED_APPS中加入rest_framework,在文件最后定义rest_framework的接口。代码如下:

REST_FRAMEWORK = {
    #返回结构自定义
    'DEFAULT_RENDERER_CLASSES':(
     'utils.render_response.CustomJsonRenderer',
    )
  }

我们定义一个中间件py文件为render_response,代码如下:

from rest_framework.renderers import JSONRenderer

class CustomJsonRenderer(JSONRenderer):
    def render(self, data, accepted_media_type=None, renderer_context=None):
        """
        格式{
            'code':xxx,
            'msg':请求成功,
            'data':{返回数据}
        }
        """
        #如果返回的data为字典 中有msg的key 则将内容改为请求成功 code 为0
        # 如果不是字典则将msg 定义为返回成功 code为0
        # 再将完整的res数据传入
        if renderer_context:
            if isinstance(data,dict):
                msg = data.pop('msg','请求成功')
                code = data.pop('code',0)
            else:
                msg = '返回成功'
                code = 0
            response = renderer_context['response']
            response.status_code = 200
            res={
                'code':code,
              
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值