随笔分类 - drf
摘要:RBAC-基于角色的访问控制 一 什么是RBAC # 之前学的权限控制,针对于主站,互联网用户用的,对外用的系统 # 公司内部系统都是使用RBAC的权限控制 RBAC 是 基于角色的访问控制 (Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当
阅读全文
摘要:使用jwt自带的JSONWebTokenAuthentication认证类 需要带jwt+空格+token,不然不认证,非常麻烦 原来的认证类返回了request.user,是auth的user,不是自己自定义的user,所以需要自定义认证类 jwt之定制认证类:token放在header里 基于B
阅读全文
摘要:写一个登录接口,使用自定义的用户表,签发token views.py(参考内置的path('login/', obtain_jwt_token)中的obtain_jwt_token,) from rest_framework_jwt.settings import api_settings jwt_
阅读全文
摘要:使用jwt自带的登录认证obtain_jwt_token,只返回了一个token 我们需要自定义认证返回结果: common.py # 写一个函数,函数的返回值,就是响应的格式 # 在配置文件中配置一下 def jwt_response_payload_handler(token, user=Non
阅读全文
摘要:drf-jwt的快速使用 # 使用第三方模块,快速签发和认证token pip3 install djangorestframework-jwt 2.1 快速签发 from rest_framework_jwt.views import obtain_jwt_token # 在路由中配置,创建一个超
阅读全文
摘要:md5固定长度,不可反解 base64 变长,可反解 # base64编码解码很常用,通常在网络传输中使用,甚至你能看到,有的图片,使用了base64转码import base64import json dic = {'name': 'lqz', 'age': 19} dic_str = json.
阅读全文
摘要:https://www.cnblogs.com/moyand/p/9047978.html
阅读全文
摘要:在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。Json web token (JWT), 用来做登录认证的。 Json web token (JWT), 是为了在网络应
阅读全文
摘要:今日内容 0 全局异常处理 # 无论访问接口是否正常,都返回统一的格式# drf内置有统一的异常处理(认证,失败抛异常),APIException及其子类的已经处理了,但是其他异常没有处理# from rest_framework.views import exception_handler 就是d
阅读全文
摘要:-前后端分离的项目,前端和后端是两拨人写-纯手写(word,md) 》git-第三方平台(收费,免费),在平台录入-公司自己搭建(公司自己开发),录入,直接批量导入-补充:postman测试接口(导出,导入)-自动生成接口文档(coreapi,swagger) 自动生成接口文档 1 安装:pip i
阅读全文
摘要:1.过滤 # 只针对于查询所有接口 # 127.0.0.1:8000/four/students/?sex=1 -内置过滤类SearchFilter,配置search_fields,指定过滤的字段,可以模糊匹配,?search=搜索条件 -自定义过滤类:写一个类,继承BaseFilterBacken
阅读全文
摘要:频率的使用 # 限制访问次数(IP,用户id) # 限制同一个IP一分钟只能访问3次 # 使用步骤 -第一步:写一个类,继承SimpleRateThrottle,重写get_cache_key -第二步:get_cache_key返回什么就以什么做限制,必须写类属性 scope='字符串' -第三步
阅读全文
摘要:1. 权限源码分析 # APIView >dispatch >initial >self.check_permissions(request)(APIView的对象方法) def check_permissions(self, request): # 遍历权限对象列表得到一个个权限对象(权限器),进
阅读全文
摘要:认证的写法 # 作用:校验用户是否登录,如果登录了,继续往后走,如果没有登录,直接返回 # 登录功能 》 # 认证的使用 -第一步:写一个认证类,继承BaseAuthentication,重写authenticate 方法 -第二步:在 authenticate 方法中判断用户是否登录(取出用户携带
阅读全文
摘要:# 只要是继承ViewSetMixin的视图类,路由写法都变了:as_view({字典}) # 重点;以后视图类中可以写任意的方法,只需要继承ViewSetMixin后,使用路由做映射即可 # 路由使用的第一种方式: from rest_framework.viewsets import Model
阅读全文
摘要:1 ,视图 两个视图基类 APIViewGenericAPIView 1.1 ,基于APIView写的5个接口 #### views.py from rest_framework.generics import GenericAPIView from app01.models import Book
阅读全文
摘要:1.请求Request # 请求对象 # from rest_framework.request import Request def __init__(self, request, parsers=None, authenticators=None, negotiator=None, parser
阅读全文
摘要:1.模型类序列化器ModelSerializer publish单表基于ModelSerializer写的5个接口 models.py from django.db import models #### 图书表 出版社 作者 作者详情 图书和作者的多对多表 # 一对多:关系一旦确立,关系字段写在多的
阅读全文
摘要:django中settings.py配置文件中的各项组件功能 # django项目启动之前,先执行这个配置文件(先加载配置文件) # 如果配置文件出错了,整个项目启动不起来 import os # 项目根路径 BASE_DIR = os.path.dirname(os.path.dirname(os
阅读全文