首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    测试开发进阶(二十五)

    痛点 代码冗余极其严重,不符合优秀测开风格 数据校验非常麻烦,且可复用性差 编码没有统一的规范,杂乱无章的感觉 写的代码非常多,不够简洁 仅支持json格式的传参,不支持form表单传参 仅能返回json...格式的数据,其他类型不支持 列表页视图没有分页,过滤,排序功能 Django REST framework 在Django框架基础上,进行二次开发 用于构建Restful API 简称为DRF框架或REST...freamwork框架 特性 提供了强大的Serializer序列化器,可以高效地进行序列化与反序列化操作 提供了丰富的类视图,Mixin扩展类,ViewSet视图集 提供了直观的Web API界面...', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework...反序列化部分优化 调用序列化器对象的is_valid方法,开始校验前端参数 校验成功返回True 校验失败返回False serializer.is_valid(raise_exception=True

    1.1K30

    【愚公系列】2022年04月 Python教学课程 65-DRF框架之请求和响应

    2.响应对象 REST 框架还引入了一个对象,该对象是一种获取未渲染内容并使用内容协商来确定要返回给客户端的正确内容类型。...3.状态码 在视图中使用数字 HTTP 状态代码并不总是能带来明显的阅读效果,如果错误代码出错,也很容易不注意到。REST 框架为每个状态代码(如模块中)提供了更明确的标识符。...4.视图中的使用 from rest_framework import status from rest_framework.decorators import api_view from rest_framework.response...request, format=None): 和 def snippet_detail(request, pk, format=None): 现在稍微更新文件,以附加一组除现有 URL 之外的 URL from django.urls..., "language": "python", "style": "friendly" } ] 我们可以通过使用标头来控制返回的响应的格式:Accept http http://127.0.0.1

    92330

    python教程

    用我们的序列化来写常规的Django视图 让我们看看,使用我们新的序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。...我们现在在哪 到目前为止,我们做的都很好,我们已经获得一个序列化API,这和Django的表单API非常相似,并且我们写好了一些常用的Django视图。...Browsability 因为API是基于客户端请求来选择响应内容的类型,所以默认情况下,在Web浏览器访问资源时,API返回HTML格式的资源。这语序API返回完全可以网页浏览的HTML。...浏览API 如果我们打开浏览器访问API,那么你会发现你可以通过下面的链接使用API。 你也可以看见snippet实例的高亮(highlight)链接,这些链接会返回高亮HTML代码。...它保证URL规范存在你的API中,让你写最少的代码,允许你把注意力集中在你的API提供的交互和表现上而不需要特定的URL配置。 这并不意味着这样做总是正确的。

    6.3K10

    揭开DRF序列化技术的神秘面纱

    在RESTful API中,接口返回的是JSON,JSON的内容对应的是数据库中的数据,DRF是通过序列化(Serialization)的技术,把数据模型转换为JSON的,反之,叫做反序列化(deserialization...编写views 我们之前用的是已经封装好的rest_framework.viewsets,这里直接用Django原生的view。...status为201,这里retrieve返回的默认的200,附上几个常见状态码: 200 OK - GET/PUT/PATCH:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)...import path, include urlpatterns = [ path('', include('snippets.urls')), ] 测试API 启动项目: python manage.py...参考资料: https://www.django-rest-framework.org/tutorial/1-serialization/ https://blog.csdn.net/yexudengzhidao

    96720

    让 DRF Views 支持依赖注入

    起因 Django 和 Django REST framework 是 Python 开发者常用的框架组合,通常来说,一个典型的 DRF 式 API 可能长这个样子: from rest_framework.generics...同时,输入输出的代码在多个 API 中是有一定程度重复的, D.R.Y 重度患者无法接受。...所以,如果能在 Django & DRF 中实现类似依赖注入的功能,会较大程度提高 views 的可读性并降低 TDD 的门槛,间接提高代码质量。..., out_cls=ProfileSerializer, # 选择去掉原有的 request 依赖 config={"remain_request": False...在原来主干逻辑没有依赖 request 对象的情况下,单元测试的用例构造被简化成了 dict 当然仍旧还有不完美的地方: 没有使用 Type Annotation ,在声明上较 FastAPI 更为冗余 对于返回值使用了

    60450
    领券