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

我必须在一个端点中为django rest api传递多个<int:pk>?

在 Django Rest Framework 中,为了在一个端点中传递多个 <int:pk>,你可以使用多个路径参数或者使用查询参数。

  1. 多个路径参数:
  2. 多个路径参数:
  3. 这样,你可以通过 /myview/1/2/ 的方式传递多个 <int:pk>
  4. 查询参数:
  5. 查询参数:
  6. 在视图类中,你可以通过 self.request.query_params 来获取查询参数的值。
  7. 在视图类中,你可以通过 self.request.query_params 来获取查询参数的值。

这样,你就可以在一个端点中传递多个 <int:pk> 了。

此外,Django Rest Framework 也提供了更高级的功能来处理这种情况,比如使用 Serializer,可以根据你的具体需求选择合适的方式来传递多个 <int:pk>。关于 Django Rest Framework 的更多信息和使用方法,可以参考 Django Rest Framework 官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

测试开发进阶(二十四)

REST API 官方文档:https://restfulapi.net/ 一种开发理念「是设计风格 而不是标准」 REST is acronym for REpresentational State...每一个URL代表一种「资源」 具体要对资源做什么操作,要体现在请求方式上,而不是URL上 json格式数据 text文本 图片,视频等 客户和服务器之间,传递这种资源的某种表现形式 通过请求头中的 Content-Type...sort=name 指定排序 域名 尽量使用专用域名 前后端分离之后,前后端都有一个域名 例如 http://api.xxx.xxx 版本 在url中呈现版本号 http://api.xxx.xxx...比如:是否json,传递的项目数据是否符合要求,有些传参数是否携带 更新项目 将模型类转化为字典,然后返回 def put(self, request, pk): # 1.校验前端传递pk...# 3.从前端获取json格式的数据,转化为Python中的类型 # 为了严谨性,这里需要做各种复杂的校验 # 比如:是否json,传递的项目数据是否符合要求,有些传参数是否携带

1.1K50

美多商城项目(四)

可以添加一个邮箱设置序列化器类;email序列化和反序列化时都用;自动生成的字段email默认是可以不传递的,我们修改为传;将 required改为True。 2.设置登录用户的邮箱。...5.在Django配置文件中,设置邮箱配置信息。需要修改邮箱和客户授权密码,以及收件人看到的发件人。 6.使用Django提供的模块发送邮件。...(一个省下面有多个市,一个市下面有多个区县) ID(地区ID) name(地区名称) parent_id(父级地区ID) 200001 北京市 NULL 200010 北京市 200001 200110...P\d+)/ 参数: 通过url地址传递省id 响应: [ { "id":"市id", "name":"市名称"...P\d+)/ 参数: 通过url地址传递地区id 响应: { "id":"地区id", "name":"地区名称", "subs"

1.2K30
  • Python进阶39-drf框架(一)

    URL进行标识,客户应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态 3.REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer...api.baidu.com/books | api.baidu.com/books/(pk) 5) 请求方式有多种,用一个url处理如何保证不混乱 - 通过请求方式标识操作资源的方式.../books get 获取所有 /books post 增加一个(多个) /books/(pk) delete 删除一个...(客户提供改变的属性) DELETE :从服务器删除资源 过滤,通过在url上传参的形式传递搜索条件 https://api.example.com/v1/zoos?...- 局部 - 整体 ---- 十大接口 ## 在上面的6个基础的接口之上还有4个 群增数据 群删数据 整体群改 局部群改 ---- 修改url 之前写的url没有办法实现获取一个或者获取多个

    4.1K30

    django-rest_framework api框架学习day1

    今天开始了django-rest-framework的学习 *** 其实api写起来的话要比前后端一起写要简单很多,因为你不需要关心前端怎么写,主要心思放在后端上面即可,前端的话随便找个模板,然后用...首先需要导入两个包,一个method_decorator,还有一个是csrf_exempt *** from django.views.decorators.csrf import csrf_exempt...接口传递进来的数据 pk=kwargs.get(‘pk’) print(kwargs.get(‘pk’)) if not pk: # 如果pk空就查询全部 book_list = [] all...一个就查询一个, 这里有个查询技巧,就是values直接把查询的值转化成字典,然后取出,必须要这步,不然就会报错了 a = models.Bookinfo.objects.filter(pk=pk)...Serializer 序列化器 from rest_framework.views import APIView # 继承自View的api接口 from rest_framework.response

    1.3K40

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

    一是 action 装饰器,它用来装饰一个视图集中的方法,被装饰的方法会被 django-rest-framework 的路由自动注册一个 API 接口。...视图集中所有以上提及的以标准动作命名的方法,都会被 django-rest-framework 的路由自动注册标准的 API 接口。...django-rest-framework 默认只能识别标准命名的视图集方法并将其注册 API,但我们可以添加更多非标准的 action,而为了让 django-rest-framework 能够识别这些方法...设置 True,自动注册的接口 URL 中会添加一个 pk 路径参数(请看下面的示例),否则不会。 url_path:自动注册的接口 URL。...如果我们设置 detail True,那么生成的接口路由就是 /posts//archive/dates/,生成的 URL 中就会多一个 pk 路径参数。

    2.6K30

    如何使用Django构建现代Web应用程序来管理客户信息并在Ubuntu 18.04上进行反应

    构建更复杂的应用程序时可以使用的一些工具包括: React,一个JavaScript框架,允许开发人员他们的REST API后端构建Web和本地前端。...Django一个免费的开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架,一个功能强大且灵活的工具包,用于在Django中构建REST API。...在本教程中,您将使用React,DjangoDjango REST Framework构建一个带有单独REST API后端和前端的现代Web应用程序。...第6步 - 使用Axios使用REST API 在此步骤中,我们将安装Axios,即我们将用于进行API调用的HTTP客户。我们还将创建一个类来使用我们创建的API端点。...结论 在本教程中,您使用Django和React创建了一个演示应用程序。您使用Django REST框架构建REST API,使用Axios来使用API,使用Bootstrap 4来构建CSS样式。

    13.9K83

    django-rest-framewor

    源码繁琐,多说无益,耐心细读官方文档: https://www.django-rest-framework.org/ 个人总结: REST是一种软件架构设计风格,不是标准,也不是具体的技术实现,只是提供了一组设计原则和约束条件...DRF(Django RestFramework)是一套基于Django开发的、帮助我们更好的设计符合REST规范的Web应用的一个Django App,所以,本质上,它是一个Django App。...,many默认为False,如果返回的数据是一个列表嵌套字典的多个对象集合,需要改为many=True 返回:将序列化对象的data属性返回即可  {{ 实践代码 }} --post接口设计 url...程序启动,开始初始化,获取配置信息,获取视图类并加载到内存中,获取url及视图类的对应关系 开始绑定视图类和url的对应关系,执行as_view()方法 as_view()方法被执行的时候传递了参数,字典形式...P\d+),所以此时的调用方式view(request, pk=id) 视图函数中有一行self.kwargs = kwargs,所以pk已经被视图函数找到了 视图函数返回self.dispatch(

    1.6K10

    Python进阶40-drf框架(二)

    需要先创建一个serializer.py文件,当然文件名可以自定义,与models文件在同一级即可 # 序列化组件,一个model类,提供一套序列化工具类 from rest_framework...# 序列化组件,一个model类,提供一套序列化工具类 from rest_framework import serializers class UserSerializer(serializers.Serializer...obj.get_gender_display()  在序列化过程中,我们可以删除不想显示的字段,就比如说是gender,这样的话,就可以把gender_value改成gender了 # 序列化组件,一个...,在前台发现点击无法直接看到图片,所以我们可以修改属性,传递一个完整路径 # 序列化组件,一个model类,提供一套序列化工具类 from rest_framework import serializers...django.contrib.messages', 'django.contrib.staticfiles', 'api.apps.ApiConfig', 'rest_framework

    2K20

    RESTful API

    ) 对互联网上的任意东西都视为资源,他认为一个url就是一个资源 比如:http://www.xxx.com/get_user/ 二、了解什么是API 1、什么是API?...接口有两个用途: - 别人提供服务 - 前后端分离,一个写vue,一个写后端,他们之间都是通过ajax请求 三、RESTful API设计 网络应用程序,分为前端和后端两个部分。...即获取数据 POST(CREATE):在服务器新建一个资源。 即添加数据 PUT(UPDATE):在服务器更新资源(客户提供改变后的完整资源)。...pass def delete(self,request,pk): pass 基于django实现的API许多功能都需要我们自己开发,这时候djangorestframework...下面我们来看看基于Django Rest Framework框架实现 五、基于Django Rest Framework框架实现 1、自定义认证规则 详见链接 class MyAuthtication

    1.6K20

    drf之请求、响应、视图

    可以在rest_framework.settings 查找所有的drf默认配置项。其中配置响应格式的配置项: ? 在局部配置使用,即只对某一个视图类配置生效。...', # json渲染器 'rest_framework.renderers.BrowsableAPIRenderer', # 浏览API渲染器 ) } 1.2.1 构造方式...; content_type: 响应数据的Content-Type,通常此参数无需传递REST framework会根据前端所需类型数据来设置该参数。...GenericAPIView 继承自APIVIew,主要增加了操作序列化器和数据库查询的方法,作用是下面Mixin扩展类的执行提供方法支持。通常在使用时,可搭配一个多个Mixin扩展类。...提供的关于序列化器使用的属性与方法 属性:serializer_class  指明视图使用的序列化器 方法: get_serializer_class(self) : 当出现一个视图类中调用多个序列化器时

    2.1K20

    用 GraphQL 查询你的 Django 应用

    先来看看 wikipedia: GraphQL 是一个开源的,面向 API 而创造出来的数据查询操作语言以及相应的服务运行环境。...说的没错,所以我们在阐述这些问题的时候,也会附上我们当前基于 REST 的解决方案。 Overfetching: 假如我们定义了一个 /comments 的 API,输出评论列表。...以 django-rest-framework 例,我们都会定义一个 Serializer 来声明它的输入和输出。...在 REST 中,为了这个需求我们可能会额外 /users 增加一个参数 with_comments # 查询 users,并限制结果返回字段 /api/users?...适合成熟的客户开发团队,反之 REST 是更好的选择 Django 相关的生态建设并不完善,没有一个足够强大、开箱即用的整合方案 由于查询并不是基于 Uri 维度,会给周边配套的生态—— 监控、日志等

    2K60

    Django DRF路由与扩展功能的实现

    下面我们还是通过案例,大家演示吧! 首先,先创建一个子应用。 python3 manage.py startapp collect 5....P<pk \d+)/$", views.Student6ReadOnlyModelViewSet.as_view({"get": "retrieve"})), # 一个视图类中调用多个序列化器...P<pk \d+)/$", views.Student9ModelViewSet.as_view({"get": "retrieve"})), ] """ 有了视图集以后,视图文件中多个视图类可以合并成一个...(instance=self.get_queryset().get(pk=6)) return Response(serilizer.data) """在多个视图类合并成一个视图类以后,那么有时候会出现一个类中需要调用多个序列化器...在视图类中调用多个序列化器""" """原来的视图类中基本上一个视图类只会调用一个序列化器,当然也有可能要调用多个序列化器""" from .serializers import StudentInfoModelSerializer

    3K30
    领券