☯️

Posts

尝试自己写一个Python缓存装饰器

python
本文记录尝试编写一个简单的缓存装饰器,以学习为目的,实际生产环境建议大家用标准库。 from hashlib import md5 from pickle import dump, load # 用pickle进行数据的读取、写入 def _dkL(f): with open(f,'rb') as file: return load(file) def _dkD(o,f): with open(f, 'wb') as file: return dump(o,file) def cache(ex_time=10, start=0, have_args=True, have_kw=True, cache_path="/tmp/pyCache"): # 判断缓存目录是否存在 if not path. Read more...

Django Rest Framework 分页功能与搜索功能

drf
本文章记录在drf框架中实现分页、搜索功能. 实践 分页器 分页器的实现官网介绍有两种方式: 配置文件配置 继承父类完成自定义分页器 分析分页器源码 自定义分页器主要是继承PageNumberPagination,改写get_paginated_response方法与paginate_queryset方法. > 其中get_paginated_response主要是编写分页器的返回结果. 需求示例: 前端采用iView组件中的分页器,该前端分页器主要接收总页数与当前页数.所以后端需要返回数据,并且返回一个总页数. class MyPagination(PageNumberPagination): # 指定每一页的个数,默认为配置文件里面的PAGE_SIZE page_size = 10 # 可以让前端指定每页个数,默认为空,这里指定page_size去指定显示个数 page_size_query_param = 'page_size' # 可以让前端指定页码数,默认就是page参数去接收 page_query_param = 'page' # 指定返回格式,根据需求返回一个总页数,数据存在results字典里返回 def get_paginated_response(self, data): from collections import OrderedDict return Response( OrderedDict([('count', self. Read more...

Django Rest Framework JWT鉴权实践

drf
本文章记录在drf框架中对JWT鉴权实践过程. 实践 安装djangorestframework-jwt模块 场景1: 修改默认Username作为用户名验证 改成以uid作为用户名 settings.py JWT_PAYLOAD_GET_USERNAME_HANDLER = 'uid' # 修改验证后端 AUTHENTICATION_BACKENDS = [ 'auth. Read more...
Previous Page 2 of 2