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

第 9 篇:实现分类、标签、归档日期接口

接着我们在接口返回一个 Response, Response 将序列化后的结果包装返回(保存在 data 属性),django-rest-framework 会进一步帮我们把这个 Response 包含的数据解析为合适的格式...对于这样的场景,我们可以在请求 API 时加上查询参数django-rest-framework 解析查询参数,然后从全部文章列表过滤出查询所指定的文章列表再返回。...这在 RESTful API 的设计中肯定是会遇到的,因此第三方库 django-filter 帮我们实现了上述所说的查询过滤功能,而且和 django-rest-framework 有很好的集成,我们可以在...由于这两个字段在 Post 没有定义,Post 记录时间的字段为 created_time,因此我们需要显示地定义查询规则,定义的规则是: 查询参数名 = 查询参数值的类型(查询的模型字段,查询表达式...) 例如示例定义的 created_year 查询参数查询参数值的类型为 number,即数字,查询的模型字段为 created_time,查询表达式是 year。

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

第 11 篇:基于 drf-haystack 的文章搜索接口

django-haystack 默认返回的搜索结果是一个类似于 django QuerySet 的对象,需要配合模板系统使用,因为未被序列化,所以无法直接用于 django-rest-framework...此时就要发挥开源社区的力量,去 GitHub 使用关键词 rest haystack 搜索,果然搜到一个 drf-haystack 开源项目,专门用于解决 django-rest-framework 和...通过调用序列化字段的 to_representation 方法对输入的值进行序列化,这个方法接收的第一个参数就是需要序列化的值。...属性以便在视图外访问;获取 request 对象的目的是希望获取查询的关键字,query_params 属性是一个类字典对象,用于记录来自 URL 的查询参数,例如我们之前测试查询功能时调用的 URL...text=markdown,所以 query_params 保存了 URL 查询参数,将其封装为一个类字段对象 {"text": "markdown"},这里 text 的值就是查询的关键字,我们将它传给

1.6K20

django写接口(实战篇)

1.设置全局分页参数 我们可以在 project 下的 settings.py 文件中加入 REST_FRAMEWORK 字典,设置全局的分页参数 REST_FRAMEWORK = { # 配置全局分页类型和每页数量...但是有个问题就是只能精确查询才可以,如果你输入的参数不完整,就查询不到,接下来,我们尝试着完成模糊查询。...类来写 class PostFilter(django_filters.rest_framework.FilterSet): # 定义进行过滤的参数,CharFilter 是过滤参数的类型,过滤器参数类型还有很多...,rest_framework 的认证还包括许多,可以查看官网Authentication http://www.django-rest-framework.org/api-guide/authentication...'rest_framework', 'rest_framework.authtoken', ] # 然后在 REST_FRAMEWORK 字典配置 DEFAULT_AUTHENTICATION_CLASSES

2.1K20

第 5 篇:用视图集,简化你的代码

因此,django-rest-framework 引入了视图集(Viewsets),把对同一个资源的不同操作,集中到一个类。...同样的,针对 Web 开发的常见逻辑,django-rest-framework 也提供了通用视图集,进一步简化开发工作。...django-rest-framework 提供了资源操作的 5 个混入类,分别对应资源的创建、查询、更新、删除。...视图集自动生成 URL 模式非常简单,只需实例化一个路由器,然后调用其 register 方法,这个方法接收 3 个参数第一个参数是 URL 前缀,所有从注册的视图集生成的 URL 都会带有这个前缀。...第二个参数就是视图集,第三个参数 basename 用于指定视图集生成的视图函数名的前缀。在 django 的 URL ,一条路由通常由 URL 模式,对应的视图函数和视图函数名组成。

80510

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

开发的异同时说过,django-rest-framework 开发和传统的开发方式没有什么不同,区别仅在于返回的数据格式不同而已。...在转换过程,还会进行数据合法性的校验。 先来看一个简单的例子(摘自 django-rest-framework 官网示例),理解序列化器的工作原理和功能。...实际上,django-rest-framework 序列化器的设计参考了 django 表单的设计。序列化器和表单也有很多相似功能,比如对输入数据进行校验等。...回顾我们在上一步教程的 交流的桥梁:评论功能 对评论表单的定义,我们通过继承 ModelForm 定义了表单,而并没有显示地指定表单字段的类型。...和表单类似,django-rest-framework 的序列化器也可以根据关联的模型,自动检测被序列化模型各个属性的数据类型,推测需要使用的序列化字段,无需我们显示定义。

98920

Django Rest Framework 分页(下)

Django Rest Framework 分页() ? 一、使用加密分页 使用加密分页的原因:如果使用普通分页时,由于向用户提供了可选参数 page,用户可以直接跳到数据分页之后的任意页码。...default_limit:表示默认每页显示几条数据; cursor_query_param:表示 url 页码的参数; page_size_query_param:表示每页显示数据量的参数; max_page_size...:表示每页最大显示数量,做限制使用,避免突然大量的查询数据,数据库崩溃; ordering:表示返回数据的排序方式 ② 视图 ?...二、总结 三种分页 Django Rest Framework 分页(上),普通分页与 django 的分页基本没有区别。不过要做分页返回给前端数据,就要从数据库取出数据,然后再做分页序列化。...如果用户一下在前几页请求数据库的最后几页数据,对查询数据库的延时,对数据库的负载较大,就会出现问题,这个时候就可以使用加密分页,限制用户的访问,只提供前一页和后一页的接口。

55830

Django API开发: 使用Python和Django构建web APIs

接下来学习如何使用DjangoDjango REST Framework来构建不同的RESTful web APIs。...鉴于前端库的更改速度非常快-React仅在2013年发布,而Vue在2014年发布!-这非常有价值。 如果在未来几年内最终将当前的前端框架替换为更新的框架,则后端API可以保持不变。...但是Django REST Framework可以说是Django的杀手级应用。 它是成熟的,功能齐全,可自定义,可测试的,并且文档齐全。...如果您已经了解Django,那么下一步就是学习Django REST Framework。 只需最少的代码,它就可以将任何现有的Django应用程序转换为Web API。...在第2章,我们将建立一个图书馆书网站,然后向其中添加一个API,以回顾传统DjangoDjango REST Framework之间的区别。

2.8K21

TO-do api

初始化创建 任何Django API的第一步始终是安装Django,然后在其之上添加Django REST Framework。 首先在桌面上的代码目录创建一个专用的todo目录。...因此,通常我们会在项目过程对它们进行一些更改。 好的,这样就安装了Django REST Framework。 接下来是什么?...每个待办事项都将在其主键上可用,这是Django在每个数据库表自动设置的值。 第一个条目是1,第二个条目是2,依此类推。 因此,我们的第一个待办事项最终将位于API端点api/1/。...Views 在传统的Django,视图用于自定义要发送到模板的数据。 在Django REST Framework,视图执行相同的操作,但对序列化的数据而言。...Django REST Framework视图的语法故意与常规Django视图非常相似,就像常规Django一样,Django REST Framework随附了通用视图以用于常见用例。

3.6K31
领券