首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第 3 篇:实现博客首页文章列表 API

开发的异同时说过,django-rest-framework 开发和传统的开发方式没有什么不同,区别仅在于返回的数据格式不同而已。...这些过程 django 默认的视图函数在处理 HTTP 请求时是没有提供的,经过 api_view 装饰后的视图,则提供了上述全部功能。...HTTP 响应即可),通常在 RESTful API 的视图函数中我们都会返回这个类,不是 django 的 HTTP 响应类。...但是资源的序列化,框架是无法自动化完成的,框架提供了基本的序列化器,我们需要自定义序列化逻辑。所以,让我们来定义 PostListSerializer 序列化器,用它来序列化文章列表。...被序列化对象序列化后的数据是一个扁平的 Python 字典字典中的数据描述了这个对象资源。

98620
您找到你想要的搜索结果了吗?
是的
没有找到

Sentry 开发者贡献指南 - Django Rest Framework(Serializers)

Django Rest Framework Django Rest Framework 序列化程序用于处理进入 Sentry 的数据的输入验证和转换。...get_attrs 方法 当 Django Rest Framework 具有类似功能时,为什么要这样做? get_attrs 方法就是原因。它允许您执行批量查询不是多个查询。...在我们的示例中,我可以过滤我想要的 item,并使用 python 将它们分配给相关 item, 不是调用 ExampleTypes.objects.get(...) 多个 item。...在 attr 字典的情况下,key 是 item 本身。并且 value 是一个字典,其中包含要添加的属性的名称及其值。...attrs[item] = {'attribute_name': attribute} Serialize 方法 最后,您返回一个带有 json 可序列化信息的字典,该信息将与 response 一起返回

1.1K30

Django实践-10RESTful架构和DRF入门

文件的问题 django配置app中的静态文件步骤 Django多APP加载静态文件 django.short包参考: 中间件的应用 Django 前后端分离(REST Framework)...SOA是一个框架的方法,SaaS是一种传递模型。 通过SaaS传递Web服务并不需要SOA。 SaaS主要是指一个软件企业向其它企业提供软件服务。SOA一般是企业内部搭建系统的基础。...Start off by adding the following to your settings.py module: REST框架API的任何全局设置都保存在一个名为REST_FRAMEWORK...的配置字典中。...前后端分离的开发需要后端为前端、移动端提供API数据接口,API接口通常情况下都是返回JSON格式的数据,这就需要对模型对象进行序列化处理。

24821

不会DRF?源码都分析透了确定不来看?

官网:https://www.django-rest-framework.org/ drf安装默认安装的最新版本,如果django版本过低会自动升级到3.x版本 版本支持对应关系 示例...django.contrib.messages', 'django.contrib.staticfiles', 'app01.apps.App01Config', 'rest_framework...全部修改:修改id为1的数据,这里尽量在body体里写全参数 局部修改:修改id为1的数据,修改啥写啥 删除一条数据:删除id为2的数据 CBV源码流程分析 因为DRF框架里大部分都是基于...view加括号调用到此就是as_view加括号调用 4、调用执行了view()返回dispatch,但是这里的父类不是View,是APIview所以执行的dispatch是APIView中的dispatch...Request对象是rest_framework导入的,然后实例化后返回的,实例化就少不了__init__构造函数 from rest_framework.request import Request

1.3K10

【愚公系列】2022年04月 Python教学课程 77-DRF框架之异常

文章目录 一、DRF框架自带异常 二、自定义异常 一、DRF框架自带异常 REST 框架的视图处理各种异常,并处理返回适当的错误响应。 处理的异常包括: 在 REST 框架中定义的异常。...PermissionDenied 在每种情况下,REST 框架都将返回具有适当状态代码和内容类型的响应。响应的正文将包含有关错误性质的任何其他详细信息。 大多数错误响应将在响应正文中包含一个键。...如果验证错误不是特定于特定字段的,则它将使用“non_field_errors”键,或者为该设置设置设置的任何字符串值。...该函数必须采用一对参数,第一个是要处理的异常,第二个是包含任何额外上下文(如当前正在处理的视图)的字典。异常处理程序函数应返回对象,如果无法处理异常,则应返回。...如果处理程序返回,则将重新引发异常,Django返回标准的HTTP 500“服务器错误”响应。

1K40

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

2.serializer序列化model 使用Django自带的model_to_dict()方法可以实现直接将模型数据转化为字典形式,但是对于DateTimeField、ImageField等字段时还是无法序列化...REST框架是用于构建Web API的功能强大且灵活的工具包。...使用REST框架的一些原因: 该网站可浏览API是你的开发人员一个巨大的可用性胜利; 身份验证策略,包括OAuth1a和OAuth2的软件包; 支持ORM和非ORM数据源的序列化; 完全可自定义...方法的内容POST,这意味着您可以访问PUT和PATCH请求的内容; 它支持REST框架的灵活请求解析,不仅仅是支持表单数据。...request.user通常会返回的实例django.contrib.auth.models.User,尽管其行为取决于所使用的身份验证策略。

5.3K20

测试开发进阶(二十五)

痛点 代码冗余极其严重,不符合优秀测开风格 数据校验非常麻烦,且可复用性差 编码没有统一的规范,杂乱无章的感觉 写的代码非常多,不够简洁 仅支持json格式的传参,不支持form表单传参 仅能返回json...格式的数据,其他类型不支持 列表页视图没有分页,过滤,排序功能 Django REST framework 在Django框架基础上,进行二次开发 用于构建Restful API 简称为DRF框架REST...', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework...反序列化部分优化 调用序列化器对象的is_valid方法,开始校验前端参数 校验成功返回True 校验失败返回False serializer.is_valid(raise_exception=True...) raise_exception=True校验失败会抛出异常 当调用 is_valid方法后,才可以调用 errors属性,获取校验的错误提示「字典格式」 class ProjectsList(View

79230

用 GraphQL 查询你的 Django 应用

同时,REST 通常都是由后端开发者主动封装, GraphQL 则是由前端主动拼装。 所以如果面对的场景是前端需求复杂多变,GraphQL 肯定比 REST 更适合快速迭代。...vs 扩展的 REST 协议 (此小节中图片拷贝自网络,懒得画) 和 REST 一样,GraphQL 并不是什么开发框架,它只是定义了一种通用型查询的 DSL。...而使用 REST 协议进行资源拉取,我们总是会面临一些实际的问题, GraphQL 可以在一定程度上解决。...在 REST 中,为了这个需求我们可能会额外为 /users 增加一个参数 with_comments # 查询 users,并限制结果返回字段 /api/users?...适合成熟的客户端开发团队,反之 REST 是更好的选择 Django 相关的生态建设并不完善,没有一个足够强大、开箱即用的整合方案 由于查询并不是基于 Uri 维度,会给周边配套的生态—— 监控、日志等

2K60

django写接口(实战篇)

1.设置全局分页参数 我们可以在 project 下的 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局的分页参数 REST_FRAMEWORK = { # 配置全局分页类型和每页数量...接口分页效果 我们可以看到接口返回的信息还包含了前一页和后一页的 url 是不是很人性化 接口数据多条件筛选 目前我们的接口要查找特定的信息只能通过 id 来查找,这肯定是不够完善的,这部分将设置接口的多条件查询...注册完以后,我们在 REST_FRAMEWORK 字典中将过滤器添加进去 REST_FRAMEWORK = { # 配置全局分页类型和每页数量 'DEFAULT_PAGINATION_CLASS...,rest_framework 的认证还包括许多,可以查看官网Authentication http://www.django-rest-framework.org/api-guide/authentication...'rest_framework', 'rest_framework.authtoken', ] # 然后在 REST_FRAMEWORK 字典中配置 DEFAULT_AUTHENTICATION_CLASSES

2K20

django-rest_framework api框架学习day1

今天开始了django-rest-framework的学习 *** 其实api写起来的话要比前后端一起写要简单很多,因为你不需要关心前端怎么写,主要心思放在后端上面即可,前端的话随便找个模板,然后用...’, ‘rest_framework’, ‘ajax’, ] *** 注册完成之后路由上的写法也有些不同, URL中 *** from django.urls import path...book_list},json_dumps_params={‘ensure_ascii’:False}) else: # 如果pk一个就查询一个, 这里有个查询技巧,就是values直接把查询的值转化成字典...对urlencoding会进行解析兼容较好,其余的都不会进行解析 *** ##下面是rest_framework框架 *** from rest_framework.serializers import...Serializer 序列化器 from rest_framework.views import APIView # 继承自View的api接口 from rest_framework.response

1.3K40

django-rest-framewor

源码繁琐,多说无益,耐心细读官方文档: https://www.django-rest-framework.org/ 个人总结: REST是一种软件架构设计风格,不是标准,也不是具体的技术实现,只是提供了一组设计原则和约束条件...DRF(Django RestFramework)是一套基于Django开发的、帮助我们更好的设计符合REST规范的Web应用的一个Django App,所以,本质上,它是一个Django App。...model中的类型不一致,参数也可以调整),字段名称必须与model中的一致 在GET接口逻辑中,获取QuerySet 开始序列化:将QuerySet作业第一个参数传给序列化类,many默认为False,如果返回的数据是一个列表嵌套字典的多个对象集合...cls(**initkwargs), cls是视图类,执行视图函数时self就指向视图函数的实例对象 等待客户端请求 请求到来,开始执行视图函数,注意,调用视图函数时的方式是view(request),如果...token认证步骤:     用户登录,服务器端获取密码,查询用户表,如果存在该用户且第一次登录(或者token过期), 生成token,否则返回错误信息     如果用户不是第一次登录,且token未过期

1.5K10

重点内容回顾-DRF

不是很方便呢? ForeignKey('self')代表的是自关联 3.一些常用的命令 a. 创建Django工程: django-admin startproject 工程名称 b....request.query_params保存解析之后的查询字符串的数据,并且已经解析成了字典或类字典,相当Django原始request对象中的request.GET 2.响应时可以统一返回Response...,DRF框架会自动对异常进行处理,并且会把处理之后的错误信息返回给客户端。...举个例子:True表示的是xxx/\/action方法名,False表示的是xxx/action方法名 6.高级功能 6.1分页 我们可以在配置文件中设置全局的分页方式 REST_FRAMEWORK...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

2.4K20

Flask简介&入门

1.3 框架的轻重 重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如Django 轻量级的框架:只提供Web框架的核心功能,自由、灵活、高度定制,如Flask、Tornado 2 认识Flask...可以说Flask框架的核心就是Werkzeug和Jinja2。 Python最出名的框架要数Django,此外还有Flask、Tornado等框架。...虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。...2.2 与Django对比 django提供了: django-admin快速创建项目工程目录 manage.py 管理项目工程 orm模型(数据库抽象层) admin后台管理站点 缓存机制 文件存储系统...WSGI是为 Python 语言定义的Web服务器和Web应用程序之间的一种简单通用的接口,它封装了接受HTTP请求、解析HTTP请求、发送HTTP,响应等等的这些底层的代码和操作,使开发者可以高效的编写

88630
领券