首页
学习
活动
专区
圈层
工具
发布

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

django-rest-framework 默认只能识别标准命名的视图集方法并将其注册为 API,但我们可以添加更多非标准的 action,而为了让 django-rest-framework 能够识别这些方法...事实上,分类、标签或者归档日期文章列表的 API,本质上还是返回一个文章列表资源,只不过比首页 API 返回的文章列表资源多了个“过滤”,只过滤出了指定的部分文章而已。...对于这样的场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表中过滤出查询所指定的文章列表再返回。...这在 RESTful API 的设计中肯定是会遇到的,因此第三方库 django-filter 帮我们实现了上述所说的查询过滤功能,而且和 django-rest-framework 有很好的集成,我们可以在...其中 filter_backends 设置为 DjangoFilterBackend,这样 API 在返回结果时, django-rest-framework 会调用设置的 backend(这里是 DjangoFilterBackend

3.6K30

使用Django、RestFul API和Bootstrap实现可折叠的多级菜单功能

本文将详细介绍如何使用Django、RestFul API和Bootstrap实现一个可折叠的多级菜单功能,并在菜单末端节点上添加复选框,点击按钮时获取这些节点的ID并查询其内容。...一、环境准备在开始之前,请确保已经安装并配置好以下环境:Python 3.xDjangoDjango Rest FrameworkBootstrap 4.x二、后端实现首先,我们需要在Django中创建一个简单的菜单模型...创建视图和路由在myapp/views.py中创建视图,处理菜单列表和根据ID查询内容的请求:from rest_framework import generics, statusfrom rest_framework.response...import Responsefrom rest_framework.decorators import api_viewfrom .models import Menufrom .serializers..., name='menu-contents-by-ids'),]这样,我们就完成了后端的API设计。

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

    全面掌握Django开发RESTful API:从基础到高级的实战指南

    通过/api/books/,客户端可以获取所有书籍列表,或创建新的书籍;通过/api/books//,可以获取、更新或删除特定书籍。三、高级功能实现1....添加分页和过滤当数据库中的数据量增加时,分页和过滤成为API中常用的功能。Django REST framework提供了内置的分页支持。...', 'PAGE_SIZE': 10}接下来,我们可以通过Django REST framework的django-filter库来添加过滤功能:$ pip install django-filter...'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend']}在视图中启用过滤:# api/views.pyfrom...五、API文档生成良好的API文档能够帮助开发者和使用者更好地理解和使用API。Django REST framework支持通过Swagger、ReDoc等工具生成API文档。1.

    1.1K20

    用 GraphQL 查询你的 Django 应用

    也正因此,GraphQL 在实现上更加繁复,所以面对 API 数量少、需求不会轻易的场景时,REST 反而是更适合的技术选型。...说的没错,所以我们在阐述这些问题的时候,也会附上我们当前基于 REST 的解决方案。 Overfetching: 假如我们定义了一个 /comments 的 API,输出评论列表。...但是也许某一天,我们需要一个评论的精简列表的 API,当前返回内容中,除了 content 以外的其他字段都变成多余了,那么后端开发需要重新定一个 MinimalCommentSerializer 来满足新的需求...传统的 REST 协议 假如我们需要获取所有用户维度的评论,我们需要先获取通过 /users 所有用户 id,再使用 id 列表遍历查询 /users//comments 来获取相关的列表。...可以在列表对象中增加 filter_fields ,针对不同的字段支持不同的 Django 复杂查询方法。

    2.9K60

    用django写接口(实战篇)

    pip install django-filter 然后我们需要将过滤器模块到 settings.py 中的 INSTALLED_APPS 进行注册才可以使用。...注册完以后,我们在 REST_FRAMEWORK 字典中将过滤器添加进去 REST_FRAMEWORK = { # 配置全局分页类型和每页数量 'DEFAULT_PAGINATION_CLASS...首先我们要先创建一个 filters.py 文件,用来定义过滤器 filter import django_filters # 自定义过滤器需要继承 django_filters.rest_framework.FilterSet...类来写 class PostFilter(django_filters.rest_framework.FilterSet): # 定义进行过滤的参数,CharFilter 是过滤参数的类型,过滤器参数类型还有很多...,rest_framework 的认证还包括许多,可以查看官网Authentication http://www.django-rest-framework.org/api-guide/authentication

    2.8K20
    领券