首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    django和drf_类中的方法可以序列化么

    比如我们的账号密码,只允许用户提交,后端是不返回密码给前台的 required:当为True时表示这个字段必填,不填状态码会返回400 default:默认值,没什么好说的 allow_null:当为True...时,允许该字段的值为空   之后我们又定义了局部钩子,校验特殊的字段,比如需求规定,用户的性别只能输入男和女,此时你就可以定义一个钩子,当然drf自动帮我们做了一些校验,比如需要的字段是int类型,你输入...POST请求 GET请求 我们打开接口测试工具postman或者apifox,这里以apifox为例,输入127.0.0.1:8000/drf/student/,得到了以下结果 [ {...请求 同样打开接口工具,输入127.0.0.1:8000/drf/student/,在body中选择json格式,输入如下数据 { "name": "aaaa", "sex": 2,...name": "kkk", "sex": 3, "age": 18 } 返回结果如下: { "sex": [ "只能输入男和女" ] } 测试默认的输入类型错误

    1.6K30

    Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法

    Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误 解决方法1: ? 注释掉此段代码,即可。...import csrf_exempt #在处理函数加此装饰器即可 @csrf_exempt def post(request): name=request.post['name']...解决方法4: django的csrf安全工作顺序是:先从后台获取csrf_token 并发送给前端,然后前端在进行form表单提交时,把带有名为csrfmiddlewaretoken,值为 csrf_token...csrf_token = x['csrf_token'] return HttpResponse('{} ; {}'.format(str(re), csrf_token)) 然后在另一个POST...请求中 加参数  名为:csrfmiddlewaretoken  值为 get_csrf函数返回的csrf_token  ,这样校验便成功 优点:完成了 csrf 安全校验

    3.8K30

    Django+Vue开发生鲜电商平台之7.用户登录和注册功能

    说明: 因为接口请求需要用POST方法,因此开始直接使用GET方法会失败,DRF提供了在页面直接用POST方法发送数据的功能,这对以后的测试提供了极大的方便。...对于字段的验证,除了默认的required、max_length、min_length等验证方式,DRF还提供了专业的验证器,包括UniqueValidator、UniqueTogetherValidator...显然,对于多个字段的验证,如果某一个字段验证失败,则提示该字段的错误信息,如果多个字段验证失败,则将这些字段的错误信息都显示出来。...从之前的DRF的测试中可以总结出,DRF请求消息返回的规范为: http_code { field1: ['', ''], field2: [], ......、pre_save和post_save等,这里我们使用post_save信号实现密码设置。

    5.2K20

    Django REST Framework

    实验步骤 创建project DRF2 创建app MySer settingsserializer的类型的参数 read_only: 仅用于序列化输出 write_only: 反序列化输入 required...validated_data: 经过验证后的数据,存入此结构 视图 DRF的视图从处理任务,处理流程等跟Django基本一致 此视图基本是django视图的扩展 Request 把请求解析成一个request...实例 属于DRF的,跟django的HttpRequest不太一样 在得到Request之前有一个Parse对传入的数据请求进行解析 data属性 请求数据体,类似于Django的request.POST...status: 返回的状态码 - 1xx: 信息告知 - 2xx: 成功 - 3xx:重定向 - 4xx: 请求错误...- 5xx: 服务器错误视图类APIViewrest_framework.views.APIView是django中View的子类跟View有不同的地方传入传出数据用的是drf

    2.9K63

    drf之请求、响应、视图

    作者&好友:Laoqi 1、请求与响应 1.1 Request(请求) drf 传入视图的request 不再是Django默认的HttpRequest对象,而是drf 提供的拓展了HttpRequest...drf提供了Parser解析器,在接收到请求之后会根据Content-Type指明的请求数据类型(json、表单等)将请求数据进行解析,解析为类字典 对象保存到Request 对象之中...类似于Django中标准的request.POST和 request.FILES属性,但提供如下特性: 1 包含了解析之后的文件和非文件数据 2 包含了对POST、PUT、PATCH请求方式解析后的数据...提供的关于序列化器使用的属性与方法 属性:serializer_class  指明视图使用的序列化器 方法: get_serializer_class(self) : 当出现一个视图类中调用多个序列化器时...成功返回200,序列化器校验数据失败时,返回400错误。

    2.8K20

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    ,我们后端基于请求方式来分发对应的视图函数来进行逻辑处理和数据处理、提取、加工等操作,但是URL中不能出现动词。       ...500 Internal Server Error:客户端请求有效,服务器处理时发生了意外。 503 Service Unavailable:服务器无法处理请求,一般用于网站维护状态。       ...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...客户端请求时,也要明确告诉服务器,可以接受 JSON 格式,即请求的 HTTP 头的ACCEPT属性也要设成application/json。下面是一个例子。...", "detail": { "surname": "This field is required." } }       2.8.3 响应结果         针对不同操作,服务器向用户返回的结果应该符合以下规范

    3.2K20

    django rest framework serializers解读

    serializers.fieild 我们知道在django中,form也有许多field,那serializers其实也是drf中发挥着这样的功能。我们先简单了解常用的几个field。...如果某个字段设置了read_only=True,那么就不需要进行数据验证,只会在返回时,将这个字段序列化后返回   举个简单的例子:在用户进行购物的时候,用户post订单时,肯定会产生一个订单号,而这个订单号应该由后台逻辑完成...error_messages:出错时,信息提示。...和patch所设置的,没错,这一部分功能是专门为这两种请求所设计的,如果只是简单的get请求,那么在设置了前面的field可能就能够满足这个需求。...我们在mixins的博客中提及到,post请求对应create方法,而patch请求对应update方法,这里提到的create方法与update方法,是指mixins中特定类中的方法。

    2.2K10

    drf序列化器之反序列化的数据验证

    验证失败,可以通过序列化器对象的errors属性获取错误信息,返回字典,包含了字段和字段的错误提示。...如果是非字段错误,可以通过修改REST framework配置中的NON_FIELD_ERRORS_KEY来控制错误字典中的键名。...django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', # 把drf...raise_exception,用于显示序列化器抛出的异常,直接终止视图代码的执行 # 如果设置了raise_exception=True,则下面的18~21行代码,就不要开发者自己编写,系统会自动根据请求的方式自动返回错误给客户端...# 如果是ajax请求,则自动返回json格式的错误信息 # 如果是表单请求,则自动返回html格式的错误信息 result = serializer.is_valid(

    2.9K30

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

    文章目录 一、DRF框架自带异常 二、自定义异常 一、DRF框架自带异常 REST 框架的视图处理各种异常,并处理返回适当的错误响应。 处理的异常包括: 在 REST 框架中定义的异常。...detail 例如,以下请求: DELETE http://api.example.com/foo/bar HTTP/1.1 Accept: application/json 可能会收到一个错误响应,指示该资源上不允许使用该方法...验证错误的处理方式略有不同,并且将在响应中包含字段名称作为键。如果验证错误不是特定于特定字段的,则它将使用“non_field_errors”键,或者为该设置设置设置的任何字符串值。...A valid integer is required."], "description": ["This field may not be blank."]}...它不会用于视图直接返回的任何响应,例如在序列化程序验证失败时由泛型视图返回的响应。HTTP_400_BAD_REQUEST

    1.5K40

    Django+DRF 实战:从异常捕获到自定义错误信息

    一、DRF 异常介绍APIException 类是 DRF 异常的基类。通过继承APIException,DRF 提供了多种内置异常类。ParseError:当请求解析失败时抛出。...NotFound:请求的资源不存在时出现此异常。MethodNotAllowed:使用不支持的 HTTP 方法时触发。NotAcceptable:无法满足请求的 Accept 标头时抛出。...Throttled:请求被限流时会出现这个异常。ValidationError:数据验证失败时触发。通过继承 APIException 类,可以实现自定义(业务)异常。并根据业务需求在视图层返回。...,并在不符合要求时返回自定义错误信息。...定义序列化器定义用户注册序列化器,用户请求参数校验失败时,返回自定义错误信息校验用户名由字母数字组成、最小长度和最大长度校验昵称最小长度和最大长度校对密码最小长度和最大长度定义视图定义用户注册视图,调用序列化器的

    21500
    领券