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

网站推广昔年下拉网站建设方案书生鲜

网站推广昔年下拉,网站建设方案书生鲜,深圳设计院工资一般多少,怎么弄数据库备份做网站文章目录 一、DRF类视图介绍APIViewGenericAPIView类ViewSet类ModelViewSet类重写方法 二、Request与ResponseRequestResponse 参考 一、DRF类视图介绍 在DRF框架中提供了众多的通用视图基类与扩展类#xff0c;以简化视图的编写。 • View#xff1a;Django默认的视图基类以简化视图的编写。 • ViewDjango默认的视图基类负责将视图连接到URLHTTP请求方法的基本调度 • APIViewDRF提供的所有视图的基类继承View并扩展具备了身份认证、权限检查、流量控制等功能。 • GenericAPIView对APIView更高层次的封装例如增加分页、过滤器 • GenericViewSet继承GenericAPIView和ViewSet • ViewSet继承APIView并结合router自动映射路由 • ModelViewSet继承GenericAPIView和五个扩展类封装好各种请求更加完善业务逻辑基本不用自己写了。 APIView 示例 class UserView(APIView):def get(self, requset, pkNone):if pk:user_obj User.objects.get(idpk) # 获取单个用户数据user_ser UserSerializer(user_obj)else:queryset User.objects.all() # 获取所有用户# 调用序列化器将queryset对象转换为jsonuser_ser UserSerializer(queryset, manyTrue) # 如果序列化多条数据需要指定manyTrueres {code: 200, msg: 获取用户成功, data: user_ser.data}return Response(res) # 从.data属性获取序列化结果def post(self, request):user_ser UserSerializer(datarequest.data) # 调用序列化器将传入的数据反序列化转换为Python对象if user_ser.is_valid(): # 验证数据格式是否正确user_ser.save() # 保存数据到数据库msg 创建用户成功code 200else:msg 数据格式不正确code 400res {code: code, msg: msg}return Response(res)GenericAPIView类 GenericAPIView对APIView更高层次的封装实现以下功能 • 增加queryset属性指定操作的数据不用再将数据传给序列化器会自动实现。 • 增加serializer_class属性直接指定使用的序列化器 • 增加过滤器属性filter_backends • 增加分页属性pagination_class • 增加lookup_field属性和实现get_object()方法用于获取单条数据可自定义默认分组名pk示例 ViewSet类 GenericAPIView已经完成了许多功能但会有一个问题获取所有用户列表和单个用户需要分别定义两个视图和URL路由使用ViewSet可以很好解决这个问题并且实现了路由自动映射。 ViewSet视图集不再实现get()、post()等方法而是实现以下请求方法动作 • list()获取所有数据 • retrieve()获取单个数据 • create()创建数据 • update()更新数据 • destory()删除数据示例 自定义路由 在路由这块定义与之前方式一样每个API接口都要写一条URL路由但实际上我们用ViewSet后就不用自己设计URL路由及绑定HTTP方法了会自动处理URL路由映射 ModelViewSet类 ModelViewSet继承GenericAPIView和五个扩展类封装好各种请求更加完善业务逻辑基本不用自己写了只需要指定serializer_class和queryset就可以直接进行增删改查 class UserViewSet(ModelViewSet):queryset User.objects.all() # 指定操作的数据serializer_class UserSerializer # 指定序列化器重写方法 由于ModelViewSet有较高的抽象实现自动增删改查功能。对于增、改在很多场景无法满足需求这就需要重写对应方法了。 示例重写create()方法修改数据和响应内容格式 二、Request与Response Request DRF传入视图的request对象不再是Django默认的HttpRequest对象而是基于HttpRequest类扩展后的Request类的对象。 Request对象的数据是自动根据前端发送的数据统一解析数据格式 常用属性 • request.data返回POST提交的数据与request.POST类似 • request.query_params返回GET URL参数与request.GET类似 Response DRF提供了一个响应类Reponse响应的数据会自动转换符合前端的JSON数据格式。 导入 from rest_framework.response import Response 格式 Response(data, statusNone, template_nameNone, headersNone, content_typeNone) • data响应序列化处理后的数据传递python对象 • status状态码默认200 • template_name模板名称 • headers用于响应头信息的字典 • content_type响应数据的类型 使用方法return Reponse(datadata, statusstatus.HTTP_404_NOT_FOUND) 为了方便设置状态码rest_framework.status模块提供了所有HTTP状态码以下是一些常用的 • HTTP_200_OK请求成功 • HTTP_301_MOVED_PERMANENTLY永久重定向 • HTTP_302_FOUND临时重定向 • HTTP_304_NOT_MODIFIED请求的资源未修改 • HTTP_403_FORBIDDEN没有权限访问 • HTTP_404_NOT_FOUND页面没有发现 • HTTP_500_INTERNAL_SERVER_ERROR服务器内部错误 • HTTP_502_BAD_GATEWAY网关错误 • HTTP_503_SERVICE_UNAVAILABLE服务器不可达 • HTTP_504_GATEWAY_TIMEOUT网关超时参考 https://www.aliangedu.cn/course/learn?cid20sid10pid2197
http://www.pierceye.com/news/32411/

相关文章:

  • 哈尔滨自助建站模板广州海珠区发布
  • 万网icp网站备案专题做网店好还是自己建网站好
  • 素马网站设计公司没有网站的域名
  • 高仿酒网站怎么做教育 wordpress模板下载地址
  • 专业营销网站开发新手如何做好网络营销推广
  • 土木特网站建设以家乡为主题做网站
  • 网站推销策划方案做旅游网站有前途吗
  • 国外网站建设的研究现状成立公司需要多少注册资金
  • 网站布局设计步骤小红门网站建设
  • 基于c 的网站开发注册个app要多少钱
  • 宁阳移动网站制作用本机做网站浏览
  • 高端的电影网站怎么把自己的网站推广出去
  • 12个 网站模板 管理wordpress系统邮箱地址
  • 市场体系建设司在官方网站wordpress说说伪静态
  • 深圳做网站建设和维护专员管理层wordpress文学站
  • 网站外网访问怎么做路由器端口映射贵阳网站建设费用
  • 大型门户网站源码对门户网站建设情况的报告
  • 深圳建设网站速成班长春网页推广有哪些公司
  • 网站单页在线网站开发员工保密协议
  • 南宁百度网站建设公司哪家好大连建设网网址
  • wp企业网站模板南县做网站推荐
  • wordpress uiseo查询软件
  • 如何查看网站跳出率极家装修怎么样啊
  • 安卓 网站整站下载google浏览器网页版
  • 自助公益网站建设著名网红公司开业
  • 如何免费搭建自己的网站0元购怎么在网站做
  • 南宁网站建设-中国互联宁波网络营销推广
  • 虚拟主机搭建网站网站备案中商城服务性质是什么
  • 电子商务网站建设论文wordpress 添加锚点
  • 北京网站优化服务seo排名优化哪里好