导读:很多朋友问到关于django如何自定义返回状态码的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
django表单返回字段值的自定义
我这没环境,我记得,form.xx可以取到当前form的值,你看点错了仍然保留在框里的实际原理是,把form.xx取到的form值再传回去,所以你取出来后,应该是个字典,把不需要的清空就好了,你试试,不行的话我回去写个代码给你
Django REST framework自定义响应格式
目前常用的响应格式如下:
所以对Djangorestframework响应格式进行改造。该响应的源码在venv/Lib/site-packages/rest_framework/response.py下,我们只需要重写一下response.py。新建一个utils文件夹,创建一个MyResponse类,增加code和msg的返回:
改造视图中的返回,使用我们的自定义格式:
用接口测试工具测试一下,看返回格式是否正确:
django如何在用户登录后返回到原来来页面,并保持登陆状态
任何页面的头部显示登录状态的部分应该是一个block,其他页面继承此block,这个block里面写上初始化js,从后台获取登录状态
django如何在queryset外面包一层json,添加result_code
queryset只是结果集,需要将它序列化成可以展示的数据,然后将数据放在HTTP响应中返回。此时可以指定响应的状态码。
写一个例子:
模型为MyModel,其中有字段name,需要返回所有name的列表。
from django.http import JsonResponse
queryset = MyModel.objects.all()
name_list = [instance.name for instance in queryset]
response = JsonResponse(data=name_list, status=201) # 构造一个json响应,响应体为name_list,状态码为201
return response # 返回此响应
结语:以上就是首席CTO笔记为大家介绍的关于django如何自定义返回状态码的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。