
Django REST framework
Django REST framework
符号会飞
整理与归纳
展开
-
rest_framework12:多登陆方式与自动签发token/配置过期时间
多登陆方式与自动签发tokenviews.py1.继承Viewset,方法里可以使用自定义login,更直观。需要路由直接配置请方式2. 序列化是直接对request数据处理,并从对象中获取token3.context可以储存自定义数据# 多登陆方式,自动签发tokenfrom rest_framework.viewsets import ViewSetfrom app02 import serclass Login2View(ViewSet): # 这是登陆接口原创 2021-11-01 11:01:09 · 414 阅读 · 0 评论 -
rest_framework11:jwt简单例子/自定制基于jwt认证类
jwt简单例子一、登陆设置1.不需要写login的视图类,使用jwt内置的。2.需要前置条件,已有继承AbstractUser models,并且有数据,用于校验,返回token。urls.pyfrom rest_framework_jwt.views import obtain_jwt_tokenurlpatterns = [ path('login/', obtain_jwt_token), ...]二、访问视图类设置需要两者搭配,才能校验 .原创 2021-10-28 09:12:43 · 374 阅读 · 0 评论 -
rest_framework10:base64补充/修改头像
base64补充# base64 变长,可反解# md5 固定长度,不可反解# base64 编码和解码import base64import jsondic={'name':'test','age':18}dic_str=json.dumps(dic)ret=base64.b64encode(dic_str.encode('utf-8'))print(ret)# 解码ret2=base64.b64decode(ret)print(ret2)修改头像1.使用不同序原创 2021-10-22 15:56:18 · 157 阅读 · 0 评论 -
rest_framework09:自动生成接口文档(简略)
coreapi参考 python/Django-rest-framework框架/8-drf-自动生成接口文档 | Justin-刘清政的博客Swagger很多语言都支持,看起来用的人多。参考fastapi的界面原创 2021-10-21 08:47:25 · 224 阅读 · 0 评论 -
rest_framework08:分页器/根据ip进行频率限制
分页器# 查询所有,才需要分页from rest_framework.generics import ListAPIView# 内置三种分页方式from rest_framework.pagination import PageNumberPagination,LimitOffsetPagination,CursorPagination'''PageNumberPagination'''class MyPageNumberPagination(PageNumberPagination)原创 2021-10-20 16:52:11 · 734 阅读 · 0 评论 -
rest_framework07:权限/频率/过滤组件/排序/异常处理封装Response对象
权限写一个类,继承BasePermission,如果通过返回True,否则False这里需要配合认证使用,否则没有user_type属性。from rest_framework.permissions import BasePermissionclass UserPermission(BasePermission): def has_permission(self, request, view): # 不是超级用户不能访问 # 如果认证已经通过了,原创 2021-10-19 09:17:43 · 176 阅读 · 0 评论 -
rest_framework01:前后端分离\规范\简单例子(查询某本书)
web 开发模式RESTful规范4.1 数据的安全保障 url链接一般都采用https协议进行传输 注:采用https协议,可以提高数据交互过程中的安全性 4.2 接口特征表现 用api关键字标识接口url: https://api.baidu.com https://www.baidu.com/api 注:看到api字眼,就代表该请求url链接是完成前后台数据交互的 4.3 多数据版本共存 在url链接中标识数据版本 https://api.ba.原创 2021-10-12 11:43:46 · 178 阅读 · 0 评论 -
rest_framework02:修改数据/校验钩子/read_only和write_only
修改数据1.传入数据,选中data,以及修改databook_ser = BookSerializer(instance=book, data=request.data)2.校验,通过则保存。 if book_ser.is_valid(): # 返回True 表示验证通过 book_ser.save() # 不是book.save() rest_framework提供views.py, # 修改用put 或patch,实际原创 2021-10-12 15:21:03 · 301 阅读 · 0 评论 -
rest_framework03:查询所有/新增数据/删除一个数据/封装Response/序列化与反序列化
查询所有1.创建新clase和url,避免与查询一个功能逻辑混乱。2.增加many=True,book_ser=BookSerializer(books,many=True)urls.py: path('books/',views.BooksView.as_view())views.pyclass BooksView(APIView): def get(self,request): response_msg = {'status': 100, 'm原创 2021-10-13 08:31:46 · 407 阅读 · 0 评论 -
rest_framework04:ModelSerializer/Serializer高级用法
ModelSerializer1.减小序列化类代码2.不需要重写update,createser.pyclass BookModelSerializer(serializers.ModelSerializer): class Meta: model=Book fields='__all__' #序列化全部字段 # fields=('name','price') # 序列化指定字段 # exclude=('name',)原创 2021-10-13 13:31:12 · 246 阅读 · 0 评论 -
rest_framework05:GenericAPIView用法/扩展类5个/子类9个/ViewSetMixin 自定义方法名字
GenericAPIView1.视图层类使用GenericAPIView继承,能简化类里的方法code。2.简化后的方法code格式基本通用,简单修改即可应用到其他类。一、class开始加入 queryset = Book.objects serializer_class = BookModelSerializer二、方法里获取对象a.查询一个使用,如需要pk值查询book = self.get_object()b.查询多个,如获取所有对象 book原创 2021-10-14 11:36:00 · 249 阅读 · 0 评论 -
rest_framework06:自动生成路由\action使用\认证
自动生成路由# 1.导入routers模块from rest_framework import routers# 2.实例化类router=routers.SimpleRouter()# 3.注册# ('前缀','继承自ModelViewSet视图类','别名')router.register('books7',views.BooksView) # 不要加斜杠# 4.加入urlpatterns+=router.urlsaction使用装时期,给ModelViewSet的试原创 2021-10-16 15:11:57 · 573 阅读 · 0 评论