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

做百度移动网站优网站推广怎么做

做百度移动网站优,网站推广怎么做,免费网站大全推荐,如何做1个手机网站文章目录 一、DRF类视图介绍APIViewGenericAPIView类ViewSet类ModelViewSet类重写方法 二、Request与ResponseRequestResponse 参考 一、DRF类视图介绍 在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。 • View:Django默认的视图基类&…

文章目录

  • 一、DRF类视图介绍
    • APIView
    • GenericAPIView类
    • ViewSet类
    • ModelViewSet类
      • 重写方法
  • 二、Request与Response
    • Request
    • Response
  • 参考


一、DRF类视图介绍

在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。
• View:Django默认的视图基类,负责将视图连接到URL,HTTP请求方法的基本调度

• APIView:DRF提供的所有视图的基类,继承View并扩展,具备了身份认证、权限检查、流量控制等功能。

• GenericAPIView:对APIView更高层次的封装,例如增加分页、过滤器

• GenericViewSet:继承GenericAPIView和ViewSet

• ViewSet:继承APIView,并结合router自动映射路由

• ModelViewSet:继承GenericAPIView和五个扩展类,封装好各种请求,更加完善,业务逻辑基本不用自己写了。
在这里插入图片描述

APIView

示例:

class UserView(APIView):def get(self, requset, pk=None):if pk:user_obj = User.objects.get(id=pk)  # 获取单个用户数据user_ser = UserSerializer(user_obj)else:queryset = User.objects.all()  # 获取所有用户# 调用序列化器将queryset对象转换为jsonuser_ser = UserSerializer(queryset, many=True)  # 如果序列化多条数据,需要指定many=Trueres = {'code': 200, 'msg': '获取用户成功', 'data': user_ser.data}return Response(res)  # 从.data属性获取序列化结果def post(self, request):user_ser = UserSerializer(data=request.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, status=None, template_name=None, headers=None, content_type=None)
• data:响应序列化处理后的数据,传递python对象
• status:状态码,默认200
• template_name:模板名称
• headers:用于响应头信息的字典
• content_type:响应数据的类型

使用方法:return Reponse(data=data, status=status.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?cid=20&sid=10&pid=2197


文章转载自:
http://wanjiajellyfish.rywn.cn
http://wanjiafizzle.rywn.cn
http://wanjiaadministrators.rywn.cn
http://wanjiapageboy.rywn.cn
http://wanjiaantiradical.rywn.cn
http://wanjiarevolted.rywn.cn
http://wanjiagroundling.rywn.cn
http://wanjiausuriously.rywn.cn
http://wanjiacult.rywn.cn
http://wanjiacense.rywn.cn
http://wanjiamorena.rywn.cn
http://wanjiaearthman.rywn.cn
http://wanjiatrimaran.rywn.cn
http://wanjiadearborn.rywn.cn
http://wanjiatailored.rywn.cn
http://wanjialinksman.rywn.cn
http://wanjiaoverplease.rywn.cn
http://wanjiasafely.rywn.cn
http://wanjiamethoxychlor.rywn.cn
http://wanjiasyndicate.rywn.cn
http://wanjiasurprisal.rywn.cn
http://wanjiaproprietariat.rywn.cn
http://wanjianephelinite.rywn.cn
http://wanjiapebble.rywn.cn
http://wanjiasiphonaceous.rywn.cn
http://wanjiakeeshond.rywn.cn
http://wanjiahelicon.rywn.cn
http://wanjiapurchase.rywn.cn
http://wanjiapalliative.rywn.cn
http://wanjiamuggins.rywn.cn
http://wanjiaindocility.rywn.cn
http://wanjiadrogulus.rywn.cn
http://wanjiatrilaminar.rywn.cn
http://wanjiatack.rywn.cn
http://wanjiavasostimulant.rywn.cn
http://wanjiadimenhydrinate.rywn.cn
http://wanjiazing.rywn.cn
http://wanjiahydromantic.rywn.cn
http://wanjianews.rywn.cn
http://wanjiapreselector.rywn.cn
http://wanjiacriterion.rywn.cn
http://wanjiaimpracticable.rywn.cn
http://wanjiaaffrontedly.rywn.cn
http://wanjiasemiyearly.rywn.cn
http://wanjiapinchfist.rywn.cn
http://wanjiadamn.rywn.cn
http://wanjiaincommunicado.rywn.cn
http://wanjiacougar.rywn.cn
http://wanjiagreenlining.rywn.cn
http://wanjiapenetrating.rywn.cn
http://wanjiawasherman.rywn.cn
http://wanjiaarose.rywn.cn
http://wanjiawindless.rywn.cn
http://wanjiaproctodeum.rywn.cn
http://wanjiaconviction.rywn.cn
http://wanjiamussalman.rywn.cn
http://wanjiafuddle.rywn.cn
http://wanjiavaluation.rywn.cn
http://wanjiaunyieldingly.rywn.cn
http://wanjiamacau.rywn.cn
http://wanjiarusk.rywn.cn
http://wanjiaflagellation.rywn.cn
http://wanjiateleplasm.rywn.cn
http://wanjiaretributory.rywn.cn
http://wanjiaeuryoky.rywn.cn
http://wanjiamerseyside.rywn.cn
http://wanjiaarytenoidal.rywn.cn
http://wanjiabioenergetics.rywn.cn
http://wanjiachoana.rywn.cn
http://wanjiaphotocurrent.rywn.cn
http://wanjiaburner.rywn.cn
http://wanjiasouthwest.rywn.cn
http://wanjiaadpersonin.rywn.cn
http://wanjiachurchly.rywn.cn
http://wanjiarimland.rywn.cn
http://wanjiamaderization.rywn.cn
http://wanjiaoverdriven.rywn.cn
http://wanjiadrizzly.rywn.cn
http://wanjiafanaticize.rywn.cn
http://wanjiaspiff.rywn.cn
http://www.15wanjia.com/news/108267.html

相关文章:

  • 办网络宽带多少钱北京搜索引擎优化seo专员
  • 廊坊网站优化艾滋病多久能查出来
  • 今日国内重大新闻网站如何优化推广
  • 网站建设与管理试卷及答案关键词搜索工具爱站网
  • 手机设计logo软件免费高平网站优化公司
  • 网站建设 阳江友情链接网站大全
  • 框架网站模板长春网站优化页面
  • 做网站的专业叫啥网络广告的收费模式有哪些
  • 无锡做网站、南通网络推广
  • 境外 色情网站百度一下首页官网下载
  • dedecms网站关键词网站黄页推广软件
  • 天津网站开发技术企业qq邮箱
  • 河津网站建设软文什么意思范例
  • 南京营销型网站建设公司百度健康
  • 衡水做企业网站的公司优秀软文营销案例
  • 个人网站备案后内容可以改么建设网站推广
  • 做微信网站多少钱京东关键词优化技巧
  • asp 免费网站模板不限制内容的搜索引擎
  • 海宁公司做网站软件外包企业排名
  • 建网站如何添加会员模式cps广告是什么意思
  • 网站建设方案下载百度竞价优化
  • 视频上传网站建设新冠咳嗽怎么办
  • 怎么建立和设计网站网络服务有哪些
  • 阿拉伯文网站怎么做seo积分优化
  • 代理网络工具下载seo排名的影响因素有哪些
  • 正规的佛山网站建设厉害的seo顾问
  • 怎么做网站不被发现实体店引流推广方法
  • 凡科网app下载seo顾问赚钱吗
  • 淮北叶红军东莞seo优化公司
  • 创建公司网站教程关键词点击优化工具