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

如何在django rest框架中获取一个非PK值作为发出post请求的值

在Django Rest框架中,如果你想获取一个非主键(非PK)值作为发出POST请求的值,可以通过以下步骤实现:

  1. 首先,在你的Django项目中安装并配置Django Rest框架。你可以使用pip命令安装它:pip install djangorestframework
  2. 在你的Django应用程序中创建一个视图(View),该视图将处理POST请求并获取非PK值。你可以使用Django Rest框架提供的APIView类来创建视图。
  3. 在视图中,你可以通过重写post方法来处理POST请求。在该方法中,你可以使用request.data来获取请求的数据。
  4. 获取非PK值的方法取决于你的具体需求和数据结构。如果非PK值是请求数据的一部分,你可以使用request.data字典来获取它。例如,如果你的请求数据是JSON格式,且包含一个名为non_pk_value的字段,你可以使用request.data['non_pk_value']来获取它。
  5. 处理完请求数据后,你可以执行相应的操作,例如创建新的对象或进行其他业务逻辑处理。

以下是一个示例代码,展示了如何在Django Rest框架中获取一个非PK值作为发出POST请求的值:

代码语言:txt
复制
from rest_framework.views import APIView
from rest_framework.response import Response

class MyAPIView(APIView):
    def post(self, request):
        non_pk_value = request.data['non_pk_value']
        
        # 执行相应的操作,例如创建新的对象
        # ...

        return Response("Success")

这是一个简单的示例,你可以根据你的具体需求进行修改和扩展。在实际应用中,你可能还需要进行数据验证、错误处理等其他操作。

对于Django Rest框架的更多信息和详细介绍,你可以参考腾讯云的Django Rest框架产品介绍

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

相关·内容

【愚公系列】2022年04月 Python教学课程 61-Django框架Resful接口

文章目录 一、Resful接口介绍 二、相关案例 1.DjangoResful路由代码 2.DjangoResful业务代码 总结 一、Resful接口介绍 RESTFUL是一种网络应用程序设计风格和开发方式...RESTFUL特点包括: 每一个URI代表1种资源; 客户端使用GET、POST、PUT、DELETE4个表示操作方式动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源...表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE] 用户删除数据成功 400 INVALID REQUEST - [POST/PUT/PATCH] 用户发出请求有错误...且不会再得到 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误 500 INTERNAL SERVER ERROR - [*]...服务器发生错误,用户将无法判断发出请求是否成功

51420

RESTful API

常用HTTP动词有下面五个(括号里是对应SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。即获取数据 POST(CREATE):在服务器新建一个资源。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出请求有错误,服务器没有进行新建或修改数据操作,该操作是幂等。...比如,当用户向api.example.com根目录发出请求,会得到这样一个文档。...就给我们提供了方便,直接基于它来返回数据,总之原理都是一样,就是给一个接口也就是url,让前端的人去请求这个url去获取数据,在页面上显示出来。...下面我们来看看基于Django Rest Framework框架实现 五、基于Django Rest Framework框架实现 1、自定义认证规则 详见链接 class MyAuthtication

1.6K20

Python进阶39-drf框架(一)

/books/(pk) 5) 请求方式有多种,用一个url处理如何保证不混乱 - 通过请求方式标识操作资源方式 /books get 获取所有 /books...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出请求有错误,服务器没有进行新建或修改数据操作,该操作是幂等。... ---- 访问admin添加数据    原生Djangoget请求实现单查群查接口 ---- 六大基础接口 获取一个数据 获取所有数据 增加一个数据 删除一个数据 更新一个数据...post请求 ---- 下载postman post请求需要使用一个工具postman postman官网      ## 接收post请求,并且查看数据 from django.shortcuts..._request = request 将原生request作为新request_request属性 # 在rest_framework.request.Request__getattr__方法

4K30

【愚公系列】2022年04月 Python教学课程 70-DRF框架之视图集

GenericViewSet 二、扩展视图集 1.ModelViewSet 2.ReadOnlyModelViewSet 三、用法补充 1.扩展方法使用 前言 使用视图集ViewSet,可以将一系列逻辑相关动作放到一个...获取单一图书数据 :param request: :param pk: :return: """ # 1、根据pk查询图书对象..."" # 1、根据pk查询图书对象 try: # self.get_object()从queryset获取当前pk所对应数据对象...serializer_class = BookSerializer """ 在视图集中,我们还可以通过重写get_serializer或者get_queryset对 同一个指定视图采用不同...1","http请求方法2",...], detail="是否要生成pk",url_path="url路径,不填写则默认使用方法名") @action(methods=["get","put"

1.6K30

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

文章目录 一、APIView ---- 一、APIView REST框架提供了一个类APIViewView,APIView类在以下方面与常规类不同,它是继承于View类。...传递给处理程序方法请求将是REST框架实例,而不是Django实例。 RequestHttpRequest处理程序方法可以返回REST框架,而不是Django。并在响应上设置正确呈现器。...ResponseHttpResponse任何异常都将被捕获并调解为适当响应。 APIException传入请求将经过身份验证,并且在将请求调度到处理程序方法之前,将运行适当权限和/或限制检查。...使用该类与使用常规类几乎相同,像往常一样,传入请求被调度到适当处理程序方法。此外,可以在控制 API 策略各个方面的类上设置许多属性。...:param request: :param pk: :return: """ # 1、根据pk查询图书对象

58730

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

Django一个免费开源Python Web框架,遵循模型视图控制器(MVC)软件架构模式。 Django REST框架一个功能强大且灵活工具包,用于在Django构建REST API。...第1步 - 创建Python虚拟环境并安装依赖项 在这一步,我们将创建一个虚拟环境并为我们应用程序安装所需依赖项,包括DjangoDjango REST框架django-cors-headers...在API消耗方面,在DjangoREST框架一个串行器允许将复杂模型实例和查询集转换成JSON格式。...Paginator是一个内置Django类,它将数据列表分页到页面,并提供访问每个页面的项目的方法。 如果是POST请求,则该方法序列化接收客户数据,然后调用save()序列化程序对象方法。...request.method字段检查验证请求方法,并根据其调用正确逻辑: 如果是GET请求,则客户数据将被序列化并使用Response对象发送。

13.9K83

第 15 篇:接口单元测试

django 单元测试框架使用方式。...这里我们再对 djnago 测试框架一个回顾整体回顾,至于如何编写和运行测试,后面将会进行详细讲解,如果想对 django 单元测试做更基础了解,推荐回去看看关于测试 3 篇教程以及 django...下面是 djnago 单元测试框架一些要点: django 单元测试框架基于 Python unittest 测试框架。...PostViewSet 视图集接口则包含了文章列表、文章详情、评论列表、归档日期列表等。对于文章列表接口,还可以通过查询参数对请求文章列表资源进行过滤,获取全部文章一个子集。...APITestCase,因此可以直接通过 self.client 来发送请求,其中 self.client 是 django-rest-framework 提供 APIClient 一个实例,专门用来发送

1.2K20

第 7 篇:文章详情 API 接口

() permission_classes = [AllowAny] 现在,路由会自动增加一个 /posts/:pk/ URL 模式,其中 pk 为文章 id。...lookup_field 属性指定资源筛选字段(默认为 pk)。django-rest-framework 以该字段从 get_queryset 返回资源列表筛选出单个资源对象。...lookup_field 字段将从请求 URL 捕获,所以你看到文章接口 url 模式为 /posts/:pk/,假设将 lookup_field 指定为 title,则 url 模式为 /posts...: 可以看到很多我们需要在详情页展示字段并没有返回,比如文章正文(body)。...那么如何在视图集中区分不同 action 动作呢?视图集有一个 action 属性,专门用来记录当前请求对应动作。

99830

【愚公系列】2022年04月 Python教学课程 73-DRF框架之限流

限制指示临时状态,用于控制客户端可以向 API 发出请求速率。 与权限一样,可以使用多个限制。您 API 可能对未经身份验证请求设置了限制性限制,对经过身份验证请求限制性限制较少。...REST 框架提供应用程序级限制不应被视为安全措施或针对暴力破解或拒绝服务攻击保护。...仅当正在访问视图包含属性时,才会应用此限制。然后,通过将请求“作用域”与唯一用户 ID 或 IP 地址连接起来,形成唯一限制键。 允许请求速率由使用请求“作用域”设置确定。...三、限流缓存 REST框架提供限制类使用Django缓存后端。...您应确保已设置适当缓存设置。后端默认应该适用于简单设置。请参阅 Django 缓存文档以获取更多详细信息。

68720

测试开发进阶(二十四)

PUT具体内容 校验前端传递pk(项目ID),类型是否正确(正整数),在数据库是否存在等「先省略」 获取指定pk项目 从前端获取json格式数据,转化为Python类型 为了严谨性,这里需要做各种复杂校验...DELETE 校验前端传递pk(项目ID),类型是否正确(正整数),在数据库是否存在等「先省略」 获取指定pk项目 删除 def delete(self, request, pk):...原始设计小结 创建接口任务 校验用户数据 将请求数据(json格式)转换为模型类对象 反序列化 将其他格式(json,xml等)转换为程序数据类型 将json格式字符串转换为Django模型类对象...操作数据库 将模型类对象转换为响应数据(json格式) 序列化 将程序数据类型转换为其他格式(json,xml等) 例如将Django模型类对象转换为json字符串 数据增删改查流程 增...): # 1.校验前端传递pk(项目ID),类型是否正确(正整数),在数据库是否存在等「先省略」 # 2.获取指定pk项目 project =

1K50

Django Rest Framework

initialize_request(self, request, *args, **kwargs): 确保请求对象传递给处理程序方法是request一个实例,而不是djangoHttpRequest...REST框架提供通用视图允许快速构建API观点紧密地映射到数据库模型,如果通用视图不适合需要API, 可以使用常规APIView类,或重用mixin和基类使用通用视图来组成自己组可重用通用视图。...,默认与settings设置DEFAULT_PAGINATION_CLASS 相同,设置分页数过滤器属性: 'rest_framework.pagination.PageNumberPagination...(详情见官网http://www.django-rest-framework.org/api-guide/generic-views/) get_object():获取一个具体model实例对象。...,ViewSet类是一个简单类型基于类观点,没有提供任何方法处理程序.get()或. post(), 而代替提供方法比如.list()和create()。

2.3K60

drf之请求、响应、视图

作者&好友:Laoqi 1、请求与响应 1.1 Request(请求) drf 传入视图request 不再是Django默认HttpRequest对象,而是drf 提供拓展了HttpRequest...类似于Django中标准request.POST和 request.FILES属性,但提供如下特性: 1 包含了解析之后文件和文件数据 2 包含了对POST、PUT、PATCH请求方式解析后数据...如果前端请求未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式。 可以在rest_framework.settings 查找所有的drf默认配置项。...APIView与View不同之处在于: 传入到视图方法REST frameworkRequest对象,而不是DjangoHttpRequeset对象; 视图方法可以返回REST framework...在APIView仍以常规类视图定义方法来实现get() 、post() 或者其他请求方式方法。例如使用APIView简单实现五个增删查改API接口。

2.1K20

第 12 篇:加缓存为接口提速

配置缓存 django 为我们提供了一套开箱即用缓存框架,缓存框架对缓存操作做了抽象,提供了统一读写缓存接口。...drf-extensions Cache django 缓存框架比较底层,drf-extensions 在 django 缓存框架基础上,针对 django-rest-framework 封装了更多缓存相关辅助函数和类...例如我们可以把 API 请求 URL 作为缓存 key,这样同一个接口请求将返回相同缓存内容。...但是在更为复杂场景下,不能简单使用 URL 作为 key,比如即使是同一个 API 请求,已认证和未认证用户调用接口得到结果是不一样,所以 drf-extensions 使用 KeyConstructor...,信号发出后该方法将被调用,往缓存写入文章资源更新时间。

1.1K40

django-rest-framewor

DRF(Django RestFramework)是一套基于Django开发、帮助我们更好设计符合REST规范Web应用一个Django App,所以,本质上,它是一个Django App。...2 解析器组件 (用来解析数据请求组件)   Django并不能处理请求协议为application/json编码协议数据   注意: DRF解析器会封装到Viewparsers内,在视图函数被调用时...定义需要返回字段(字段类型可以与model类型不一致,参数也可以调整),字段名称必须与model一致 在GET接口逻辑获取QuerySet 开始序列化:将QuerySet作业第一个参数传给序列化类...定义:需要为post新增url,因为根据规范,url定位资源,http请求方式定义用户行为 定义post方法:在视图类定义post方法 开始序列化:通过我们上面定义序列化类,创建一个序列化对象,传入参数...方法接口,登录都是post请求: from django.http import JsonResponse from rest_framework.views import APIView from

1.5K10

DRF框架学习(三)

功能: 1.视图中request对象不再是Django HttpRequest类对象,而是由DRF框架封装成 Request类对象。...4.高级功能: 1)认证 2)权限 3)限流 Request类对象: 1. request.data里面保存解析之后请求体数据,并且已经解析成了字典或类字典,相当于包含了Django原始request...对象 request.body|request.POST|request.FILES 2. query_params:保存解析之后查询字符串数据,并且已经解析成了字典或类字典。...其他功能: a)过滤 b)分页 补充知识点: 查询时候我们想不根据主键pk查询,而是根据我们需求查,那么可以根据修改 lookup_field(改为我们要查询字段名称)来解决需求。...时间长了之后,就知道该怎么写最简单代码了。 2.视图集 2.1概念 将操作同一组资源处理方法(API接口)同一个

1.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券