随笔分类 -  python【REST framework】

摘要:url定制和渲染器: 渲染器: 如果不对渲染器进行设置,默认使用常用url设置方式,浏览器端需要展示不同的渲染方式的数据时,需要在url地址上加上参数format,例如: path('author/', views.AuthorView.as_view()), class AuthorView(mi 阅读全文
posted @ 2020-03-25 20:22 aikell 阅读(215) 评论(0) 推荐(0)
摘要:Serializer: 自定义错误信息在字段类型中设置error_messages的值 SerializerMethodField字段类型为自定义显示字段的值,需要构造一个返回字段值的方法,返回值可以为列表、字典、字符串、数字等:get_字段名 用SerializerMethodField自定义显示 阅读全文
posted @ 2020-03-24 23:36 aikell 阅读(285) 评论(0) 推荐(0)
摘要:随着程序越来越大,可能通过版本不同,做出不同的处理方式。没用rest_framwork之前,我们可能会这样做: class UserView(APIView): def get(self,request,*args,**kwargs): version = request.query_params. 阅读全文
posted @ 2020-03-24 00:31 aikell 阅读(165) 评论(0) 推荐(0)
摘要:request.POST与request.body: django中的request.POST只能取到Content-Type(请求头)为application/x-www-form-urlencoded(form表单默认格式)的数据,如果请求头为application/json(json格式),m 阅读全文
posted @ 2020-03-23 21:23 aikell 阅读(4038) 评论(0) 推荐(0)
摘要:先上结论:只有使用mixins类是才会进行model对象校验,以及对所有对象进行过滤(默认不过滤)。使用APIview时,get、put等操作都是在自己的CBV中实现,所以具体实现看自身需求。 使用rest_framwork时,CBV视图继承mixins类: class AuthorDetailVi 阅读全文
posted @ 2020-03-23 18:01 aikell 阅读(272) 评论(0) 推荐(0)
摘要:需求:匿名用户和User都能访问这条url path('host/', views.HostView.as_view({'get': 'list'})), # 匿名测试 流程: 1、认证时,User访问返Tuer,匿名用户必须返回None,即不处理 # 认证类 class Authenticatio 阅读全文
posted @ 2020-03-22 23:33 aikell 阅读(393) 评论(0) 推荐(0)
摘要:使用rest_framework,无论用哪种视图,最终都走向APIview下的dispatch: 1、dispatch的执行意味着新的request的生成,post数据用data方法取,_request获取wsgi的原生request。 2、生成新的request后进行各种校验,认证,权限、频率 3 阅读全文
posted @ 2020-03-22 20:53 aikell 阅读(173) 评论(0) 推荐(0)
摘要:一、认证 认证涉及登录,登录为一次post请求,则涉及跨站请求伪造,django中间件csrf很好的解决了这个问题,但是在前后端分离开发的过程中,使用Postman发送请求无法使用该组件,所以将该中间件注释后,自己简单实现一个类似csrftoken的功能: 登录后需要验证token值,每次登录,to 阅读全文
posted @ 2020-03-22 20:05 aikell 阅读(183) 评论(0) 推荐(0)
摘要:一、django原生View: 1、启动程序,预加载一条url,执行as_view(),返回view函数 path('book/', views.BookView.as_view()), 2、用户访问执行view方法,进入到dispatch: 3、dispatch返回执行self.get的值,vie 阅读全文
posted @ 2020-03-22 01:36 aikell 阅读(273) 评论(0) 推荐(0)
摘要:初识rest_framework,视图使用时,类继承APIview,每个类相似的冗余代码过多: from rest_framework.views import APIView from rest_framework.response import Response from .models imp 阅读全文
posted @ 2020-03-21 23:09 aikell 阅读(153) 评论(0) 推荐(0)
摘要:1、json模块: 不支持序列化queryset和object对象 from django.shortcuts import render, HttpResponse from app01 import models from django import views import json clas 阅读全文
posted @ 2020-03-21 20:25 aikell 阅读(216) 评论(0) 推荐(0)