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

京山网站制作互联网行业特点

京山网站制作,互联网行业特点,网站开发工程师任职要求,amh5.5安装wordpress过滤 过滤就是根据路由url?后的信息过滤出符合#xff1f;后条件的数据而非全部#xff0c;比如…/?nameweer就是只查name是weer的数据#xff0c;其余不返回。 1、安装#xff1a;pip3 install django-filter2、注册#xff1a;在settings.py中的app中注册django-filt…过滤 过滤就是根据路由url?后的信息过滤出符合后条件的数据而非全部比如…/?nameweer就是只查name是weer的数据其余不返回。 1、安装pip3 install django-filter2、注册在settings.py中的app中注册django-filter3、使用全局配置还是在REST_FRAMEWORK中写DEFAULT_FILTER_BACKENDS:[django_filters.rest_framework.DjangoFilterBackend]然后在需要使用的视图类中写filter_fields (name, ) # 指定可过滤字段一般都用在查中局部配置也是在视图类下配置filter_backends […]同方法嘛 排序 就是将查出来的数据按某某排序展示比如按价格升序、按id降序 是依赖于django-filter实现的所以前面安装过这不再书写了 也是可全局使用和局部使用 此介绍局部使用 views.pyfrom rest_framework.filters import OrderingFilterclass BookView(ListAPIView):queryset models.Book.objects.all()serializer_class BookSerializerfilter_backends [OrderingFilter]ordering_fields (id, price) # 指定可用排序字段# 使用时路由url中?后应带固定关键字比如orderingid支持降序就是加负号-比如/?ordering-price就是按价格降序展示 异常处理 通过前面的经验当我们写项目的时候出现错误drf或Django会自动帮你处理错误并返回你它自己设置的错误信息或页面。但在实际项目开发中我们写接口文档会根据自己公司的要求来自定义错误信息并且一般都返回字典json格式里面包括什么状态码、出错信息、headers啊等而不是像Django给你出现的如下页面错误信息 drf中的自动帮你处理错误信息的方法在rest_framework.views.exception_handler中 def exception_handler(exc, context):# exc就是异常信息对象, context可以取出视图函数来if isinstance(exc, Http404):exc exceptions.NotFound()elif isinstance(exc, PermissionDenied):exc exceptions.PermissionDenied()if isinstance(exc, exceptions.APIException):headers {}if getattr(exc, auth_header, None):headers[WWW-Authenticate] exc.auth_headerif getattr(exc, wait, None):headers[Retry-After] %d % exc.waitif isinstance(exc.detail, (list, dict)):data exc.detailelse:data {detail: exc.detail}set_rollback()return Response(data, statusexc.status_code, headersheaders)return None 研究源码可以看到drf自动帮你处理了404、是否允许访问还有APIException错误信息 另一个返回结果None就很灵性意味着该异常处理不全返回None的交给了Django处理 因此展示那种错误页面因此我们需要写自己的异常处理方法一是为了统一错误信息返回格式二是为了记录错误日志 当然像APIException错误这种drf已然帮我们写好了为此我们可以直接用 我是新建的my_exception_handler.py from rest_framework.views import exception_handler from rest_framework.views import Response from rest_framework import statusdef my_exception_handler(exc, content):response exception_handler(exc, content) # 沿用exception_handler处理方法 返回None时就是写我们自己的没有返回None时就是对APIException处理了的if not response:# 写自己的异常处理逻辑 按需求来# 以下为示例return Response(data{code:104,msg:str(exc)}, statusstatus.HTTP_400_BAD_REQUEST)else:# 这返回的是drf内置的处理错误信息如APIException的return Response(data{code:101,msg:response.data.get(detail)}, statusstatus.HTTP_403_FORBIDDEN) 然后去REST_FRAMEWORK中全局配置,没有局部配 EXCEPTION_HANDLER:app01.my_exception_handler.my_exception_handler 对应着来之后只要出现异常都返回类似这种格式的了 自封装Response对象 虽然drf提供的Response对象已经包含了很多功能比如data, status,template_name, headers,exception,content_type这种但其可扩展性还是不高需要结合项目需求来比如要加一个token字段跟在其后便没有办法因此也是在实际开发中我们都需要自己封装一个Response对象不过继承了原生Response对象而已以实现更多需求 下为一个简单示例↓ class APIResponse(Response):def __init__(self,code200,msg成功,dataNone, statusNone,headersNone,**kwargs):dic {code:code, msg:msg}dic.update(kwargs)super().__init__(datadic,statusstatus,headersheaders) 以后我们一般都使用自己的Response对象因为要啥功能自己配就行了。
http://www.pierceye.com/news/918859/

相关文章:

  • 招聘网站建设计划书网站ftp密码怎么修改
  • 网站的360度全景图片怎么做网站做可信认证多少钱
  • 建立网站图片wordpress msg
  • 南京做中英文网站设计wordpress单位内网做网站
  • 网站有必要备案吗ps课程教学零基础网课
  • 两学一做考学网站有用免费模板网
  • 个人做的网站能备案吗wordpress slides
  • idc网站模板 dedewordpress虚拟资源交易平台
  • 微网站在哪建网站首页默认的文件名一般为
  • 网站内容建设招标做芯片代理哪个网站推广
  • 网站模板图册上海机械网站建设
  • 专业的图纸设计网站怎么做外贸网站需注意哪些
  • 网站推广排名收费标准网址地址
  • 做短裙的视频网站网站生成手机版
  • 李洋网站建设睢宁做网站
  • 网站内的搜索怎么做的小程序游戏开发成本
  • 深圳市住建局造价站装潢设计就业前景
  • 网站上的按钮怎么做ipad做网站服务器
  • 马来西亚的网站后缀3d建模平台
  • 昆山建设工程安监站网站jsp网站开发好书
  • 策划书怎么写 范文泉州seo招聘
  • 网站建设的业务好做吗wordpress 首页静态
  • 做网站销售的话术网络广告策划方案
  • 企智网络网站建设公司社交信息共享网站开发外包
  • 网站建设168网站谁做的比较好
  • 邯郸移动网站建设公司wordpress页脚太高
  • 大型电子商务网站开发上海 网站建设 外包it
  • 设计得很好的企业网站wordpress 标签云
  • 杂志网站模板苏州设计网页网站好
  • 设计理论网站清远市发布